Karakter ZEPETO
ZEPETOCharacter adalah unit dasar instansi karakter ZEPETO untuk dimuat dalam World Scene.
Untuk mengontrol ZepetoCharacter, tambahkan pernyataan impor berikut ke dalam skrip.
API ini membuat dan menghapus instansi karakter ZEPETO, termasuk komponen animator controller dan character controller.
API | Deskripsi |
---|---|
CreateByZepetoId(zepetoId: string, spawnInfo: SpawnInfo, complete: System.Action$1) | Gunakan ZEPETO ID untuk menghasilkan instansi karakter ZEPETO. Utamanya digunakan untuk pembuatan karakter NPC. |
CreateByUserId(userId: string, spawnInfo: SpawnInfo, complete: System.Action$1) | Buat instansi karakter ZEPETO dengan UserId. Utamanya digunakan untuk pembuatan karakter NPC. |
RemoveCharacter(character: ZepetoCharacter) | Hapus instansi karakter. |
API ini membuat instansi model karakter ZEPETO, tidak termasuk komponen Animator Controller dan Character Controller.
- ZEPETO ID : Ini adalah nilai ID yang secara langsung ditentukan oleh pengguna dan digunakan dalam aplikasi ZEPETO.
- User ID : Ini adalah nilai ID unik yang membedakan pengguna dalam sistem ZEPETO, dan bukan nilai yang ditampilkan di UI. Anda dapat memeriksanya menggunakan skrip.
Jika Anda tertarik dengan API ZepetoCharacter, silakan merujuk ke dokumentasi:
Jika Anda menjalankan contoh ini, Anda dapat melihat bahwa CharacterModel di sebelah kiri dibuat tanpa komponen Animator Controller dan Character Controller seperti yang ditunjukkan di bawah ini.
Antarmuka di mana Anda dapat langsung mengontrol karakter akan disediakan melalui skrip dari instansi karakter dalam sebuah Adegan.
API | Deskripsi |
---|---|
MoveToPosition(position : Vector3) | Pindahkan karakter ke Posisi. |
MoveContinuously(direction : Vector3) | Gerak terus menerus (perbarui) ke arah yang dilihat karakter. |
MoveContinuously(direction : Vector2) | Gerak terus menerus (perbarui) ke arah yang dilihat karakter. |
StopMoving() | Hentikan karakter dari bergerak. |
Jump() | Karakter melompat ke Daya Lompat yang ditetapkan. |
DoubleJump() | Karakter melompat dua kali dengan Daya DoubleJump yang saat ini ditetapkan. (Berlaku hanya saat menggunakan MotionController V2) |
Teleport(position: UnityEngine.Vector3, rotation: UnityEngine.Quaternion) | Karakter langsung berpindah ke Transform. |
SetGesture(gesture: UnityEngine.AnimationClip) | Untuk AnimationClip yang ditentukan, gerakan karakter diputar. Saat SetGesture sedang berjalan, input kontrol pengguna tidak diterapkan pada karakter. Ketika opsi loop AnimationClip diaktifkan, itu akan terus diputar sampai CancelGesture() dipanggil. |
CancelGesture() | Hentikan pemutaran Animation Clip yang sedang diputar melalui SetGesture(). Ketika CancelGesture() dieksekusi, input kontrol pengguna diterapkan kembali pada kontrol karakter. |
Jika Anda menjalankan contoh ini, Anda dapat melihat bahwa karakter yang dikloning melakukan tindakan yang ditentukan secara berurutan sebagai berikut.
📘 Silakan merujuk ke panduan berikut. [Membuat sebuah NPC]
API yang terkait dengan Status Gerak karakter ZEPETO adalah sebagai berikut:
API | Deskripsi |
---|---|
motionState.useDoubleJump = (boolean); | Atur apakah karakter dapat menggunakan DoubleJump. |
motionState.doubleJumpPower = (number); | Atur kekuatan DoubleJump karakter. |
motionState.useLandingRoll = (boolean); | Atur apakah akan menggunakan LandingRoll karakter. |
motionState.landingRollSpeed = (number); | Atur nilai kecepatan LandingRoll karakter. |
motionState.useMoveTurn = (boolean); | Atur apakah akan menggunakan MoveTurn untuk karakter. |
motionState.Gravity = (number); | Atur nilai gravitasi karakter. |
motionState.CurrentJumpState | Anda dapat memeriksa status lompatan karakter saat ini. - Tidak ada = -1, JumpIdle = 0, JumpMove = 1, JumpDash = 2, JumpDouble = 3 |
motionState.CurrentLandingState | Anda dapat memeriksa status pendaratan karakter saat ini. - Tidak ada = -1, LandingSlight = 0, LandingDeep = 1, LandingRoll = 2 |
motionState.CurrentMoveState | Anda dapat memeriksa status gerakan karakter saat ini. - Tidak ada = -1, MoveWalk = 0, MoveRun = 1 |
API | Deskripsi |
---|---|
StateMachine.constraintStateAnimation | Mulai dari versi 1.6.0 dari ZEPETO.World, transisi Animasi yang dimainkan dalam CharacterStateMachine dapat dihidupkan/dimatikan sesuai dengan CharacterState dari Motion V2. - true : Matikan ZepetoCharacter.CurrentState, yang dipengaruhi oleh input pengontrol, dan kendalikan klip animasi yang diinginkan. |
👍 Contoh penggunaan constraintStateAnimation
- Anda ingin karakter Anda menggunakan animasi berenang alih-alih animasi berjalan. Anda dapat menerapkan klip animasi berenang ke State baru dan memperbaiki State melalui constraintStateAnimation.
- Jika Anda ingin menggunakan animasi gestur saat menggerakkan karakter, Anda dapat menerapkan klip animasi gestur ke State baru dan menggerakkan karakter dengan State yang diperbaiki menggunakan constraintStateAnimation.
- Ini dapat digunakan ketika Anda ingin memaksa memainkan animasi tertentu sambil sementara mengabaikan nilai parameter yang diterapkan pada Animator State.
Fungsi Animator UnityEngine tersedia dalam bentuk ZepetoAnimator.
Sebagai contoh, jika Anda ingin mengatur nilai Integer untuk parameter "State" Animator Karakter tertentu, Anda dapat menggunakan:
Untuk penggunaan yang lebih rinci, silakan merujuk ke dokumentasi Animator UnityEngine dan skrip contoh di bawah ini.
📘 UnityEngine Animator https://docs.unity3d.com/ScriptReference/Animator.html
Contoh kontrol animator dari karakter ZEPETO pemain lokal yang dikendalikan oleh pemain.
Jika Anda menjalankan contoh tersebut, Anda dapat melihat bahwa ketika nilai StateMachine.constraintStateAnimation adalah True, transisi Animasi yang dimainkan di CharacterStateMachine adalah Off.
Jika Anda mengatur nilai StateMachine.constraintStateAnimation menjadi False, itu akan kembali ke keadaan semula.
Mulai dari versi 1.11.3 dari Paket ZEPETO.CharacterController, sebuah antarmuka telah ditambahkan untuk mengakses objek ZepetoCharacter Shadow.
Spesifikasi API:
target | - Mewakili objek yang berfungsi sebagai referensi untuk menyesuaikan transformasi objek CharacterShadow. - Secara default, karakter ZEPETO diatur sebagai target. Transformasi objek CharacterShadow disesuaikan berdasarkan bagian bawah karakter yang ditentukan. |
---|---|
autoSyncTransform | - Sebuah nilai flag yang menentukan apakah posisi bayangan harus disesuaikan. - Nilai default adalah true. |
Dengan ini, Anda dapat mengontrol bayangan karakter Zepeto saat runtime. Di bawah ini adalah contoh kode yang menggunakan toggle untuk menghidupkan dan mematikan bayangan.