Membuat karakter Zepeto
LANGKAH 1 : Menambahkan Dasar ke Adegan
- Di jendela Hierarchy, klik pada 3D Object → Plane.

- Atur posisi Plane ke X: 0, Y: 0, Z: 0, dan atur ukuran cukup besar ke X: 10, Y: 1, Z: 10.

👍 Tips
- Plane adalah lantai paling dasar untuk tujuan pengujian.
- Tidak masalah apa yang Anda gunakan selama itu adalah Objek dengan Collider.
- Saat Anda semakin akrab dengan pembuatan Dunia, Anda dapat membuat peta keren untuk menggantikan lantai.
- Tanpa platform, karakter akan jatuh segera setelah dibuat dan tidak akan terlihat.
LANGKAH 2 : Menambahkan komponen Pemain ZEPETO
Di jendela Hierarchy, pilih ZEPETO → tab ZepetoPlayers.

Sebuah objek bernama ZepetoPlayers akan secara otomatis dibuat seperti yang ditunjukkan di bawah ini. ZepetoPlayers adalah komponen yang mengelola modul pengontrol karakter dalam Dunia.

Nilai untuk kontrol karakter dan fungsi terkait dapat diatur di jendela Inspector.
- Anda biasanya dapat mengatur hal-hal seperti pengaturan kamera ZEPETO, kecepatan gerakan karakter, tinggi lompatan, dll.
- Dalam contoh ini, kita akan menggunakan nilai default.
📘 Untuk pengaturan yang lebih rinci, silakan merujuk ke panduan Pengontrol Karakter ZEPETO. Pengontrol Karakter ZEPETO
LANGKAH 3 : Untuk Memuat Karakter
Untuk memuat karakter, Anda perlu membuat file ZEPETOScript baru.
1) Di panel [Proyek], pilih menu [+] di sudut kiri atas atau pilih Aset → Buat → ZEPETO → TypeScript.

2) Saat file ZEPETOScript dibuat, masukkan nama sebagai CharacterLoader. File skrip akan dibuat seperti yang ditunjukkan di bawah ini.

3) Pada menu Hierarchy → [+] → jalankan menu Create Empty.

4) Saat membuat GameObject Kosong, tulis CharacterLoader. GameObject akan dibuat seperti yang ditunjukkan di bawah ini.

5) Pilih GameObject CharacterLoader dalam Hierarchy dan klik tombol Add Component di Inspektur.

6) Di Jendela Add Component, tambahkan komponen Zepeto script.

7) Klik tombol Attach Zepeto Script pada komponen Zepeto Script.

8) Pilih file Skrip CharacterLoader ZEPETO yang Anda buat sebelumnya di jendela Attach Zepeto Script.

9) Konfigurasikan GameObject CharacterLoader sebagai berikut.

- ZEPETOScript tidak akan berjalan kecuali ditambahkan sebagai komponen ke GameObject di Scene.
10) Selanjutnya, mari kita muat karakter ke dalam Scene dengan memasukkan ID ZEPETO Anda. Buka file Script ZEPETO CharacterLoader untuk menjalankan program editor skrip. Kemudian terapkan contoh skrip di bawah ini.
- Silakan masukkan ID ZEPETO Anda di tempat yang tertulis [ZEPETO_ID].
- Jika ID ZEPETO Anda adalah 'abcd', Anda harus memasukkannya sebagai ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "abcd", new SpawnInfo(), true)
Skrip untuk memuat karakter ZEPETO dengan ID ZEPETO tertentu
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;
});
}
}
11) Setelah menyimpan skrip, silakan kembali ke editor Unity.
- Silakan lanjutkan ke pelaksanaan LANGKAH 4.
- Jika Anda menggunakan kode ini, Anda hanya akan bermain dengan avatar dari ZEPETO ID tertentu.
- Ketika Anda meluncurkan dunia Anda, Anda perlu memodifikasi kode Anda berdasarkan ZEPETO ID pengguna yang mengakses dunia Anda, bukan ZEPETO ID yang Anda masukkan dalam kode Anda. Silakan gunakan skrip di bawah ini.
Skrip untuk memuat karakter dari ID yang masuk
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() {
// Ambil user id yang ditentukan dari login ke zepeto melalui editor.
ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
const player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
});
}
}- Skrip ini membuat karakter ZEPETO berdasarkan ID yang masuk dan tidak menerima ID ZEPETO tertentu, jadi pastikan untuk masuk ke editor Unity sebelum menguji.
- Setelah menyimpan skrip, silakan kembali ke editor Unity.
- Silakan lanjutkan ke pelaksanaan LANGKAH 4.
- Silakan pastikan bahwa hanya ada satu kode pembuatan pemain lokal dalam skrip klien.
- Jika beberapa pemain identik dibuat, skrip CreatePlayerWithUserId() mungkin dipanggil di tempat lain.
- Kesalahan umum adalah menerapkan kode contoh multiplayer sambil membiarkan kode pembuatan karakter dalam panduan ini utuh, yang mengakibatkan karakter dibuat dua kali. Silakan kelola ini dengan mengomentari salah satu sisi.
LANGKAH 4 : Jalankan
Gunakan tombol [▶︎(putar)] di tengah layar untuk memeriksa apakah CharacterLoader berfungsi dengan baik.
Karakter yang dimuat disebut sebagai karakter pemain lokal, yang berarti karakter ZEPETO yang dapat dikendalikan langsung oleh pengguna di perangkat mereka sendiri.
CharacterLoader memiliki Pemetaan Kunci kontrol karakter umum untuk setiap Acara Input yang sesuai dengan perangkat (PC/Mobile). Dengan demikian, karakter yang dimuat dapat dikendalikan dalam sebuah Adegan terlepas dari platformnya.
Di PC, karakter dan kamera dapat dioperasikan dengan mouse. Di perangkat mobile, karakter dan kamera dapat dioperasikan dengan pad virtual seperti yang ditunjukkan dalam tangkapan layar di bawah ini.

👍 Antarmuka input berikut didukung untuk kontrol karakter: PC
- Gerak: Tombol panah keyboard, WASD
- Lompat: Spasi
- Lompat Ganda: (Kiri) Shift
- Zoom: Gulir mouse
- Putar: Seret layar
Mobile
- Gerak: (Tepi kiri bawah layar) pad virtual
- Lompat: (Tepi kanan bawah layar) tombol pad virtual
- Zoom: (Dua jari) seret layar
- Putar: (Satu jari) seret layar
Jika pembuatan karakter ZEPETO tidak berfungsi dengan baik, silakan pergi ke Menu Unity > Pengaturan Proyek > Editor > Masukkan Pengaturan Mode Pemutaran.
- matikan Opsi Mode Pemutaran Masuk.

LANGKAH 5: Ubah posisi awal karakter ZEPETO
Posisi awal karakter ZEPETO dibuat di UnityEngine.Vector3(0,0,0) kecuali jika diatur sebaliknya.
Nilai rotasi juga dihasilkan pada sudut UnityEngine.Quaternion.Euler(0,0,0).
Posisi dan nilai rotasi karakter diatur menggunakan ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true); argumen fungsi, SpawnInfo(), akan dihasilkan.
Jadi Anda dapat mengatur nilai yang diinginkan untuk SpawnInfo() sebelum memanggil fungsi pembuatan karakter untuk memastikan ia muncul di lokasi tertentu.
Kami telah menempatkan Objek 3D > Kubus di lokasi (0,0,0) di peta.
Jika Anda mengubah nilai lokasi muncul untuk karakter menjadi berikut, ia akan muncul di atas Kubus.
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 CharacterLoader extends ZepetoScriptBehaviour {
Start() {
// Atur Posisi Spawn Karakter
const spawnInfo = new SpawnInfo();
spawnInfo.position = new Vector3(0,2,0);
// Atur Rotasi Spawn Karakter
spawnInfo.rotation = Quaternion.Euler(0,0,0);
// Ambil id pengguna yang ditentukan dari login ke zepeto melalui editor.
ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, spawnInfo, true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
const player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
});
}
}
Gunakan tombol Putar di tengah layar untuk memeriksa pembuatan karakter.

Jika Anda mengubah nilai posisi dan orientasi, Anda juga dapat membuat karakter berbaring seperti ini.
// Atur Posisi Spawn Karakter
const spawnInfo = new SpawnInfo();
spawnInfo.position = new Vector3(2,1,2);
// Atur Rotasi Spawn Karakter
spawnInfo.rotation = Quaternion.Euler(90,0,0);