Melampirkan objek ke karakter ZEPETO
Lampirkan objek ke karakter ZEPETO sehingga ketika karakter bergerak, objek bergerak bersamanya.


LANGKAH 1 : Siapkan Prefab Objek

Pertama, Anda perlu mengubah objek Anda menjadi Prefab. Buat objek, seret ke folder Asset dan jadikan sebagai Prefab.


LANGKAH 2 : Skrip untuk melampirkan objek ke bagian tertentu dari karakter

- Terapkan kode pembuatan karakter ZEPETO di Scene sebagai default.
📘 Silakan merujuk ke panduan berikut. [Buat Karakter ZEPETO]

LANGKAH 2-1 : Tulis skrip
1) Buat Hierarki > Buat Objek Kosong dan ganti namanya menjadi AttachObject.
2) Buat Proyek > Buat > ZEPETO > TypeScript dan ganti namanya menjadi AttachObject.
3) Tulis skrip contoh seperti di bawah ini.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { ZepetoCharacter, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { Transform, Animator, GameObject, HumanBodyBones, Object } from 'UnityEngine';
export default class AttachObject extends ZepetoScriptBehaviour {
// Prefab objek yang akan dilampirkan pada tubuh.
public prefItem: GameObject;
// Tulang untuk melampirkan objek.
public bodyBone: HumanBodyBones;
private _localCharacter: ZepetoCharacter;
Start() {
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
// Temukan pemain lokal dan atur ke _localCharacter.
this._localCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
// Dapatkan komponen animator dari _localCharacter.
const animator: Animator = this._localCharacter.ZepetoAnimator;
// Dapatkan posisi tulang untuk melampirkan objek.
const bone: Transform = animator.GetBoneTransform(this.bodyBone);
// Buat prefab objek.
Object.Instantiate(this.prefItem, bone) as GameObject;
});
}
}
- Alur skrip adalah sebagai berikut:
- Start()
- Daftarkan pendengar acara ZepetoPlayers.instance.OnAddedLocalPlayer, yang akan dipicu saat pemain lokal ditambahkan.
- Atur pemain lokal ke variabel _localCharacter.
- Dapatkan komponen animator dari _localCharacter, dapatkan lokasi yang ditentukan dalam bodyBone, dan buat prefab yang ditentukan dalam prefItem di lokasi tersebut.

LANGKAH 2-2 : Mengatur Lokasi Lampiran di Inspector
1) Setelah selesai menulis skrip, tambahkan skrip ke objek AttachObject.
2) Di Inspector, tetapkan Pref Item, Body Bone.
- Pref Item adalah objek prefab.
- Body Bone adalah lokasi di mana objek akan dibuat.
- Pilih LeftHand untuk membuatnya terlihat seperti Anda memegang objek di tangan Anda.



3) Tekan tombol Play untuk menjalankan dan Anda akan melihat karakter ZEPETO dengan objek yang terpasang di tangan kirinya.

LANGKAH 3 : Terapkan

Anda dapat melampirkan objek apa pun ke lokasi yang diinginkan dari Body Bone dengan cara yang sama.
📘 Unity HumanBodyBones https://docs.unity3d.com/ScriptReference/HumanBodyBones.html

Berikut adalah contoh cara melampirkan objek Bantal Leher dari BuildIt ke leher karakter agar terlihat seperti karakter ZEPETO mengenakan bantal leher.


- Anda dapat menyesuaikan Posisi dan Rotasi objek dengan tepat untuk mendapatkan tampilan yang diinginkan.


- Di Inspector, tetapkan objek Bantal Leher ke Item Pref, dan pilih Leher untuk Tulang Tubuh.
