สร้างโลกของคุณเอง
ผู้เล่นและตัวละคร: ขั้นสูง
วิธีการใช้แอนิเมชันแบบกำหนดเอง
10นาที
มาศึกษาวิธีการนำเข้าไฟล์อนิเมชันภายนอกและนำไปใช้กับตัวละคร zepeto กันเถอะ ขั้นตอนที่ 1 การตั้งค่าอนิเมชัน เข้าถึงเว็บไซต์ที่คุณต้องการดาวน์โหลดอนิเมชัน คู่มือนี้เป็นตัวอย่างการใช้เว็บไซต์ mixamo 📘 mixamo https //www mixamo com/ https //www mixamo com/ คลิกที่อนิเมชันมนุษย์ที่ต้องการ ดาวน์โหลดอนิเมชันและเลือกตัวเลือก "fbx for unity ( fbx)" ลากและวางไฟล์ที่ดาวน์โหลดไปยังแผงโปรเจกต์ unity คลิกที่แท็บ rig และเปลี่ยนประเภทการเคลื่อนไหวเป็น humanoid ❗️ ระวัง หากไม่มีการตั้งค่า humanoid จะไม่สามารถใช้งานร่วมกับตัวละคร zepeto ได้ โปรดตรวจสอบให้แน่ใจว่าตั้งค่าเรียบร้อยแล้ว เปลี่ยนการเคลื่อนไหว > การเคลื่อนไหว > ตัวเลือก root motion node เป็น \<root transform> เพื่อทำให้การเคลื่อนไหวของตัวละครของคุณราบรื่นและสมจริงยิ่งขึ้น 📘 การเลือก root motion node ใน unity https //docs unity3d com/560/documentation/manual/animationrootmotionnodeonimportedclips html https //docs unity3d com/560/documentation/manual/animationrootmotionnodeonimportedclips html ขั้นตอนที่ 2 การตั้งค่า animator ทำการโคลนวัตถุ animator ที่เชื่อมโยงกับตัวแปร animator ใน inspector ของ zepetoplayers เส้นทางไฟล์ packages/zepeto character controller/runtime/ resources/animatorcontroller/zepetoanimatorv2 controller ลาก animator ไปยังโฟลเดอร์ assets หลังจากคัดลอกแล้ว ให้เปลี่ยนชื่อเป็น zepetoanimatorv2 custom คลิก hierarchy > zepeto > zepetoplayers เพื่อสร้างมัน และลากสำเนาของ animator ที่คุณสร้างใน animation controller ของ zepetoplayers component ดับเบิลคลิก zepetoanimatorv2 custom เพื่อเปิดแท็บ animator ลากและวางอนิเมชันใหม่ลงใน animator เพื่อสร้างสถานะอนิเมชัน คลิกขวาที่สถานะอนิเมชันที่คุณสร้างขึ้น จากนั้นคลิก make transition เพื่อสร้างการเปลี่ยนแปลงที่กลับไปยังสถานะ idle ขั้นตอนที่ 3 ตัวอย่างการใช้ไฟล์อนิเมชันที่กำหนดเอง มาสร้างตัวอย่างว่าเราจะเล่นอนิเมชันเมื่อคลิกปุ่มได้อย่างไร ขั้นตอนที่ 3 1 การตั้งค่า ui เพิ่ม hierachy > ui > ปุ่ม ขั้นตอนที่ 3 2 การเขียนสคริปต์ สร้างลำดับชั้น > สร้างวัตถุเปล่าและเปลี่ยนชื่อเป็น charactercontroller สร้างโปรเจกต์ > สร้าง > zepeto > typescript และเปลี่ยนชื่อเป็น charactercontroller เขียนสคริปต์ตัวอย่างดังนี้ import { zepetoscriptbehaviour } from 'zepeto script'; import { button } from 'unityengine ui'; import { animator, animationclip } from 'unityengine'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; export default class charactercontroller extends zepetoscriptbehaviour { public customanimationclip animationclip; public playcustomanimationbutton button; private localplayeranimator animator; start() { this playcustomanimationbutton onclick addlistener(() => { this localplayeranimator play(this customanimationclip name); }) zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; this localplayeranimator = player zepetoplayer character getcomponentinchildren\<animator>(); }); } } ลำดับการทำงานของสคริปต์มีดังนี้ เริ่ม() เพิ่มผู้ฟังไปยัง playcustomanimationbutton ที่เล่นอนิเมชันเมื่อคลิก เรียกใช้ฟังก์ชัน zepetoplayers instance createplayerwithuserid() เพื่อสร้างผู้เล่นท้องถิ่น รับส่วนประกอบ animator ของผู้เล่นท้องถิ่นและเก็บไว้ในตัวแปร localplayeranimator กำหนดคลิปอนิเมชันที่ตั้งค่าเป็นคลิปอนิเมชันแบบกำหนดเอง ลากและกำหนดปุ่มไปยังปุ่มเล่นอนิเมชันแบบกำหนดเอง 6\ เล่นและคลิกปุ่มเพื่อเล่นอนิเมชัน 👍 หากคุณใช้ตัวละครที่กำหนดเองที่ไม่ใช่ตัวละคร zepeto, คุณสามารถใช้อนิเมชัน zepeto ได้หากเป็นตัวละครมนุษย์