เริ่มต้นใช้งาน

การสร้างตัวละคร Zepeto

16min

ขั้นตอนที่ 0 : การเพิ่มฐานในฉาก

  • ในหน้าต่าง Hierarchy ให้คลิกที่ 3D Object → Plane.
Document image

  • ตั้งค่าตำแหน่งของ Plane เป็น X: 0, Y: 0, Z: 0 และตั้งค่าขนาดให้ใหญ่พอเป็น X: 10, Y: 1, Z: 10.
Document image


👍 เคล็ดลับ

  • Plane เป็นพื้นฐานที่ง่ายที่สุดสำหรับการทดสอบ.
  • ไม่สำคัญว่าคุณจะใช้สิ่งใดตราบใดที่มันเป็นวัตถุที่มี Collider.
  • เมื่อคุณคุ้นเคยกับการสร้างโลกมากขึ้น คุณสามารถสร้างแผนที่ที่เจ๋งเพื่อแทนที่พื้นได้.
  • หากไม่มีแพลตฟอร์ม ตัวละครจะตกลงทันทีที่ถูกสร้างและจะไม่สามารถมองเห็นได้.



ขั้นตอนที่ 1 : การเพิ่มส่วนประกอบ ZEPETO Players

ในหน้าต่าง Hierarchy ให้เลือก ZEPETO → แท็บ ZepetoPlayers.

Document image


วัตถุที่เรียกว่า ZepetoPlayers จะถูกสร้างขึ้นโดยอัตโนมัติตามที่แสดงด้านล่าง ZepetoPlayers เป็นส่วนประกอบที่จัดการโมดูลตัวควบคุมตัวละครภายในโลก.

Document image




ตั้งค่าค่าต่างๆ สำหรับการควบคุมตัวละครและฟังก์ชันที่เกี่ยวข้องสามารถตั้งค่าได้ในหน้าต่าง Inspector.

  • คุณสามารถตั้งค่าต่างๆ เช่น การตั้งค่ากล้อง ZEPETO ความเร็วในการเคลื่อนที่ของตัวละคร ความสูงในการกระโดด ฯลฯ ได้ตามปกติ
  • ในตัวอย่างนี้ เราจะใช้ค่าตั้งต้น

📘 สำหรับการตั้งค่าที่ละเอียด โปรดดูที่คู่มือ ZEPETO Character Controller.ตัวควบคุมตัวละคร ZEPETO



ขั้นตอนที่ 2 : โหลดตัวละคร

ในการโหลดตัวละคร คุณต้องสร้างไฟล์ ZEPETOScript ใหม่

1) ในแผง [Project] ให้เลือกเมนู [+] ที่มุมซ้ายบนหรือเลือก Assets → Create → ZEPETO → TypeScript.

Document image




2) เมื่อไฟล์ ZEPETOScript ถูกสร้างขึ้น กรุณาใส่ชื่อว่า CharacterController ไฟล์สคริปต์จะถูกสร้างขึ้นตามที่แสดงด้านล่าง

Document image




3) ใน Hierarchy → เมนู [+] → รันเมนู Create Empty

Document image




4) เมื่อสร้าง Empty GameObject ให้เขียนว่า CharacterController GameObject จะถูกสร้างขึ้นตามที่แสดงด้านล่าง

Document image




5) ลากไฟล์ CharacterController ZEPETOScript ที่สร้างขึ้นก่อนหน้านี้ไปยัง GameObject เป็น Component.

Document image

  • 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 ที่เฉพาะเจาะจง


7) หลังจากบันทึกสคริปต์แล้ว กรุณากลับไปที่ Unity editor.

  • กรุณาไปที่การดำเนินการของขั้นตอนที่ 3.
  • หากคุณใช้โค้ดนี้ คุณจะเล่นได้เฉพาะกับอวตารของ ZEPETO ID ที่เฉพาะเจาะจงเท่านั้น.
  • เมื่อคุณเปิดโลกของคุณ คุณจะต้องปรับเปลี่ยนโค้ดของคุณให้ขึ้นอยู่กับ ZEPETO ID ของผู้ใช้ที่เข้าถึงโลกของคุณ แทนที่จะเป็น ZEPETO ID ที่คุณป้อนในโค้ดของคุณ กรุณาใช้สคริปต์ด้านล่างนี้.



สคริปต์สำหรับโหลดตัวละครของ ID ที่เข้าสู่ระบบ

สคริปต์สำหรับโหลดตัวละครของ ID ที่เข้าสู่ระบบ

  • สคริปต์นี้สร้างตัวละคร ZEPETO ตาม ID ที่เข้าสู่ระบบและไม่รับ ID ZEPETO เฉพาะ ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบใน Unity editor ก่อนทำการทดสอบ
  • หลังจากบันทึกสคริปต์แล้ว โปรดกลับไปที่ Unity editor
  • โปรดดำเนินการต่อไปยังขั้นตอนที่ 3
  • โปรดตรวจสอบให้แน่ใจว่ามีโค้ดการสร้างผู้เล่นท้องถิ่นเพียงหนึ่งเดียวในสคริปต์ของไคลเอนต์
  • หากมีการสร้างผู้เล่นที่เหมือนกันหลายคน สคริปต์ CreatePlayerWithUserId() อาจถูกเรียกจากที่อื่น
  • ข้อผิดพลาดทั่วไปคือการใช้โค้ดตัวอย่างหลายผู้เล่นในขณะที่ปล่อยให้โค้ดการสร้างตัวละครในคู่มือนี้ไม่เปลี่ยนแปลง ส่งผลให้ตัวละครถูกสร้างขึ้นสองครั้ง โปรดจัดการโดยการคอมเมนต์ออกด้านหนึ่ง



ขั้นตอนที่ 3 : เรียกใช้

ใช้ปุ่ม [▶︎(เล่น)] ที่กลางหน้าจอเพื่อตรวจสอบว่า CharacterController ทำงานได้อย่างถูกต้องหรือไม่

ตัวละครที่โหลดเข้ามาจะถูกเรียกว่า ตัวละครของผู้เล่นท้องถิ่น ซึ่งหมายถึงตัวละคร ZEPETO ที่ผู้ใช้สามารถควบคุมได้โดยตรงบนอุปกรณ์ของตนเอง

CharacterController มีการแมพปุ่มควบคุมตัวละครที่ใช้ร่วมกันสำหรับแต่ละเหตุการณ์การป้อนข้อมูลที่ตรงกับอุปกรณ์ (PC/มือถือ) ดังนั้นตัวละครที่โหลดเข้ามาสามารถควบคุมได้ในฉากโดยไม่คำนึงถึงแพลตฟอร์ม

บน PC ตัวละครและกล้องสามารถทำงานได้ด้วยเมาส์ บนอุปกรณ์มือถือ ตัวละครและกล้องสามารถทำงานได้ด้วยแผ่นควบคุมเสมือนตามที่แสดงในภาพหน้าจอด้านล่าง

Document image


👍 อินเตอร์เฟซการป้อนข้อมูลต่อไปนี้รองรับสำหรับการควบคุมตัวละคร: PC

  • เคลื่อนที่: ลูกศรบนคีย์บอร์ด, WASD
  • กระโดด: Space
  • กระโดดสองครั้ง: (ซ้าย) Shift
  • ซูม: ล้อเมาส์
  • หมุน: ลากหน้าจอ

มือถือ

  • เคลื่อนที่: (มุมล่างซ้ายของหน้าจอ) แผ่นเสมือน
  • กระโดด: (มุมล่างขวาของหน้าจอ) ปุ่มแผ่นเสมือน
  • ซูม: (สองนิ้ว) ลากหน้าจอ
  • หมุน: (นิ้วเดียว) ลากหน้าจอ



หากการสร้างตัวละคร ZEPETO ไม่ทำงานอย่างถูกต้อง โปรดไปที่ เมนู Unity > การตั้งค่าโปรเจกต์ > บรรณาธิการ > ตั้งค่าโหมดเล่น.

  • ตั้งค่าตัวเลือกโหมดเล่นให้เป็นปิด.
Document image




ขั้นตอนที่ 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




ใช้ปุ่มเล่นที่กลางหน้าจอเพื่อตรวจสอบการสร้างตัวละคร.

Document image




หากคุณเปลี่ยนค่าตำแหน่งและการหมุน คุณยังสามารถสร้างตัวละครที่นอนอยู่แบบนี้ได้.

SpawnInfo Sample

Document image