เริ่มต้นใช้งาน
การสร้างตัวละคร Zepeto
16min
ขั้นตอนที่ 0 การเพิ่มฐานในฉาก ในหน้าต่าง hierarchy ให้คลิกที่ 3d object → plane ตั้งค่าตำแหน่งของ plane เป็น x 0, y 0, z 0 และตั้งค่าขนาดให้ใหญ่พอเป็น x 10, y 1, z 10 👍 เคล็ดลับ plane เป็นพื้นฐานที่ง่ายที่สุดสำหรับการทดสอบ ไม่สำคัญว่าคุณจะใช้สิ่งใดตราบใดที่มันเป็นวัตถุที่มี collider เมื่อคุณคุ้นเคยกับการสร้างโลกมากขึ้น คุณสามารถสร้างแผนที่ที่เจ๋งเพื่อแทนที่พื้นได้ หากไม่มีแพลตฟอร์ม ตัวละครจะตกลงทันทีที่ถูกสร้างและจะไม่สามารถมองเห็นได้ ขั้นตอนที่ 1 การเพิ่มส่วนประกอบ zepeto players ในหน้าต่าง hierarchy ให้เลือก zepeto → แท็บ zepetoplayers วัตถุที่เรียกว่า zepetoplayers จะถูกสร้างขึ้นโดยอัตโนมัติตามที่แสดงด้านล่าง zepetoplayers เป็นส่วนประกอบที่จัดการโมดูลตัวควบคุมตัวละครภายในโลก ตั้งค่าค่าต่างๆ สำหรับการควบคุมตัวละครและฟังก์ชันที่เกี่ยวข้องสามารถตั้งค่าได้ในหน้าต่าง inspector คุณสามารถตั้งค่าต่างๆ เช่น การตั้งค่ากล้อง zepeto ความเร็วในการเคลื่อนที่ของตัวละคร ความสูงในการกระโดด ฯลฯ ได้ตามปกติ ในตัวอย่างนี้ เราจะใช้ค่าตั้งต้น 📘 สำหรับการตั้งค่าที่ละเอียด โปรดดูที่คู่มือ zepeto character controller ตัวควบคุมตัวละคร zepeto docid\ nbx9cvlmozm5vwvyteq s ขั้นตอนที่ 2 โหลดตัวละคร ในการโหลดตัวละคร คุณต้องสร้างไฟล์ zepetoscript ใหม่ 1\) ในแผง \[project] ให้เลือกเมนู \[+] ที่มุมซ้ายบนหรือเลือก assets → create → zepeto → typescript 2\) เมื่อไฟล์ zepetoscript ถูกสร้างขึ้น กรุณาใส่ชื่อว่า charactercontroller ไฟล์สคริปต์จะถูกสร้างขึ้นตามที่แสดงด้านล่าง 3\) ใน hierarchy → เมนู \[+] → รันเมนู create empty 4\) เมื่อสร้าง empty gameobject ให้เขียนว่า charactercontroller gameobject จะถูกสร้างขึ้นตามที่แสดงด้านล่าง 5\) ลากไฟล์ charactercontroller zepetoscript ที่สร้างขึ้นก่อนหน้านี้ไปยัง gameobject เป็น component zepetoscript จะไม่ทำงานหากไม่ได้เพิ่มเป็น component ใน gameobject ใน scene 6\) ก่อนอื่น ให้ป้อน zepeto id ของคุณเพื่อโหลดตัวละครเข้าสู่ scene เปิดไฟล์ charactercontroller zepetoscript และเรียกใช้โปรแกรมแก้ไขสคริปต์ จากนั้นให้ใช้สคริปต์ตัวอย่างด้านล่าง กรุณาใส่ zepeto id ของคุณในที่ที่เขียนว่า \[zepeto id] หาก zepeto id ของคุณคือ 'abcd' คุณควรใส่มันเป็น zepetoplayers instance createplayerwithzepetoid("", "abcd", new spawninfo(), true) สคริปต์สำหรับโหลดตัวละคร zepeto ด้วย zepeto id ที่เฉพาะเจาะจง สคริปต์สำหรับโหลดตัวละคร zepeto ด้วย zepeto id ที่เฉพาะเจาะจง import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer } from 'zepeto character controller'; export default class characterloader extends zepetoscriptbehaviour { start() { zepetoplayers instance createplayerwithzepetoid("", "\[zepeto id]", new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } 7\) หลังจากบันทึกสคริปต์แล้ว กรุณากลับไปที่ unity editor กรุณาไปที่การดำเนินการของขั้นตอนที่ 3 หากคุณใช้โค้ดนี้ คุณจะเล่นได้เฉพาะกับอวตารของ zepeto id ที่เฉพาะเจาะจงเท่านั้น เมื่อคุณเปิดโลกของคุณ คุณจะต้องปรับเปลี่ยนโค้ดของคุณให้ขึ้นอยู่กับ zepeto id ของผู้ใช้ที่เข้าถึงโลกของคุณ แทนที่จะเป็น zepeto id ที่คุณป้อนในโค้ดของคุณ กรุณาใช้สคริปต์ด้านล่างนี้ สคริปต์สำหรับโหลดตัวละครของ id ที่เข้าสู่ระบบ สคริปต์สำหรับโหลดตัวละครของ id ที่เข้าสู่ระบบ import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; export default class characterloader extends zepetoscriptbehaviour { start() { // grab the user id specified from logging into zepeto through the editor zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } สคริปต์นี้สร้างตัวละคร zepeto ตาม id ที่เข้าสู่ระบบและไม่รับ id zepeto เฉพาะ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบใน unity editor ก่อนทำการทดสอบ หลังจากบันทึกสคริปต์แล้ว โปรดกลับไปที่ unity editor โปรดดำเนินการต่อไปยังขั้นตอนที่ 3 โปรดตรวจสอบให้แน่ใจว่ามีโค้ดการสร้างผู้เล่นท้องถิ่นเพียงหนึ่งเดียวในสคริปต์ของไคลเอนต์ หากมีการสร้างผู้เล่นที่เหมือนกันหลายคน สคริปต์ createplayerwithuserid() อาจถูกเรียกจากที่อื่น ข้อผิดพลาดทั่วไปคือการใช้โค้ดตัวอย่างหลายผู้เล่นในขณะที่ปล่อยให้โค้ดการสร้างตัวละครในคู่มือนี้ไม่เปลี่ยนแปลง ส่งผลให้ตัวละครถูกสร้างขึ้นสองครั้ง โปรดจัดการโดยการคอมเมนต์ออกด้านหนึ่ง ขั้นตอนที่ 3 เรียกใช้ ใช้ปุ่ม \[▶︎(เล่น)] ที่กลางหน้าจอเพื่อตรวจสอบว่า charactercontroller ทำงานได้อย่างถูกต้องหรือไม่ ตัวละครที่โหลดเข้ามาจะถูกเรียกว่า ตัวละครของผู้เล่นท้องถิ่น ซึ่งหมายถึงตัวละคร zepeto ที่ผู้ใช้สามารถควบคุมได้โดยตรงบนอุปกรณ์ของตนเอง charactercontroller มีการแมพปุ่มควบคุมตัวละครที่ใช้ร่วมกันสำหรับแต่ละเหตุการณ์การป้อนข้อมูลที่ตรงกับอุปกรณ์ (pc/มือถือ) ดังนั้นตัวละครที่โหลดเข้ามาสามารถควบคุมได้ในฉากโดยไม่คำนึงถึงแพลตฟอร์ม บน pc ตัวละครและกล้องสามารถทำงานได้ด้วยเมาส์ บนอุปกรณ์มือถือ ตัวละครและกล้องสามารถทำงานได้ด้วยแผ่นควบคุมเสมือนตามที่แสดงในภาพหน้าจอด้านล่าง 👍 อินเตอร์เฟซการป้อนข้อมูลต่อไปนี้รองรับสำหรับการควบคุมตัวละคร pc เคลื่อนที่ ลูกศรบนคีย์บอร์ด, wasd กระโดด space กระโดดสองครั้ง (ซ้าย) shift ซูม ล้อเมาส์ หมุน ลากหน้าจอ มือถือ เคลื่อนที่ (มุมล่างซ้ายของหน้าจอ) แผ่นเสมือน กระโดด (มุมล่างขวาของหน้าจอ) ปุ่มแผ่นเสมือน ซูม (สองนิ้ว) ลากหน้าจอ หมุน (นิ้วเดียว) ลากหน้าจอ หากการสร้างตัวละคร zepeto ไม่ทำงานอย่างถูกต้อง โปรดไปที่ เมนู unity > การตั้งค่าโปรเจกต์ > บรรณาธิการ > ตั้งค่าโหมดเล่น ตั้งค่าตัวเลือกโหมดเล่นให้เป็นปิด ขั้นตอนที่ 4 เปลี่ยนตำแหน่งเริ่มต้นของตัวละคร zepeto ตำแหน่งเริ่มต้นของตัวละคร zepeto ถูกสร้างขึ้นที่ unityengine vector3(0,0,0) เว้นแต่จะตั้งค่าอื่น ค่าการหมุนก็ถูกสร้างขึ้นที่มุมของ unityengine quaternion euler(0,0,0) ตำแหน่งการเกิดตัวละครและค่าการหมุนถูกตั้งค่าโดยใช้ zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); อาร์กิวเมนต์ของฟังก์ชัน spawninfo() จะถูกสร้างขึ้น ดังนั้นคุณสามารถตั้งค่าค่าที่ต้องการสำหรับ spawninfo() ก่อนที่จะเรียกใช้ฟังก์ชันการสร้างตัวละครเพื่อให้แน่ใจว่ามันจะเกิดขึ้นที่ตำแหน่งเฉพาะ เราได้วางวัตถุ 3d > ลูกบาศก์ที่ตำแหน่ง (0,0,0) บนแผนที่ หากคุณเปลี่ยนค่าตำแหน่งการเกิดสำหรับตัวละครเป็นค่าต่อไปนี้ มันจะเกิดขึ้นบนลูกบาศก์ charactercontroller import { zepetoscriptbehaviour } from 'zepeto script'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; import { quaternion, vector3 } from 'unityengine'; export default class charactercontroller extends zepetoscriptbehaviour { start() { // ตั้งค่าตำแหน่งการเกิดตัวละคร const spawninfo = new spawninfo(); spawninfo position = new vector3(0,2,0); // ตั้งค่าการหมุนตัวละคร spawninfo rotation = quaternion euler(0,0,0); // ดึง user id ที่ระบุจากการเข้าสู่ระบบ zepeto ผ่าน editor zepetoplayers instance createplayerwithuserid(worldservice userid, spawninfo, true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; }); } } ใช้ปุ่มเล่นที่กลางหน้าจอเพื่อตรวจสอบการสร้างตัวละคร หากคุณเปลี่ยนค่าตำแหน่งและการหมุน คุณยังสามารถสร้างตัวละครที่นอนอยู่แบบนี้ได้ spawninfo sample // ตั้งค่าตำแหน่งการเกิดตัวละคร const spawninfo = new spawninfo(); spawninfo position = new vector3(2,1,2); // ตั้งค่าการหมุนตัวละคร spawninfo rotation = quaternion euler(90,0,0);