BUAT DUNIAMU
Pemain & Karakter: Dasar

Karakter ZEPETO

17min

ZEPETOCharacter adalah unit dasar instansi karakter ZEPETO untuk dimuat dalam World Scene.

Untuk mengontrol ZepetoCharacter, tambahkan pernyataan impor berikut ke dalam skrip.

TypeScript




ZepetoCharacter API

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:



Buat/Hapus Karakter

TypeScript




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.

Document image




Kontrol Karakter

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.

Contoh kode karakter kontrol.

TypeScript




Jika Anda menjalankan contoh ini, Anda dapat melihat bahwa karakter yang dikloning melakukan tindakan yang ditentukan secara berurutan sebagai berikut.

Document image


📘 Silakan merujuk ke panduan berikut. [Membuat sebuah NPC]



Status Gerakan

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

Contoh kode Status Gerakan

TypeScript




Mengendalikan Animator Karakter ZEPETO

API untuk mengendalikan animator karakter ZEPETO

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.



ZepetoAnimator

Fungsi Animator UnityEngine tersedia dalam bentuk ZepetoAnimator.

Sebagai contoh, jika Anda ingin mengatur nilai Integer untuk parameter "State" Animator Karakter tertentu, Anda dapat menggunakan:

TypeScript


Untuk penggunaan yang lebih rinci, silakan merujuk ke dokumentasi Animator UnityEngine dan skrip contoh di bawah ini.



Contoh kode untuk mengontrol Animator Karakter ZEPETO

Contoh kontrol animator dari karakter ZEPETO pemain lokal yang dikendalikan oleh pemain.

TypeScript




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.

Document image




Mengontrol CharacterShadow

Mulai dari versi 1.11.3 dari Paket ZEPETO.CharacterController, sebuah antarmuka telah ditambahkan untuk mengakses objek ZepetoCharacter Shadow.

Spesifikasi API:

Antarmuka komponen CharacterShadow


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.

TypeScript




Document image