Berinteraksi dengan sebuah objek
Terapkan tombol interaksi yang muncul ketika karakter ZEPETO mendekati objek.
- Anda dapat mengunduh sumber daya animasi dan tombol yang digunakan dalam contoh interaksi dan panduan dari tautan berikut.
📘 Contoh Interaksi ZEPETO Modul Interaksi Zepeto
- Terapkan kode pembuatan karakter ZEPETO di Scene sebagai default.
📘 Silakan merujuk ke panduan berikut. [ZEPETO Player]
Atur objek untuk berinteraksi dengan karakter ZEPETO.
1) Tempatkan objek yang akan berinteraksi dengan karakter ZEPETO.
2) Buat Hierarki > Buat Objek Kosong dan ganti namanya menjadi DockPoint.
- Ini adalah titik yang akan berinteraksi dengan karakter ZEPETO. Sesuaikan posisi objek.
- Periksa bahwa tombol toggle gizmo transform di bagian atas Editor Unity adalah Lokal dan putar sumbu Z (panah biru) ke luar objek.
- Setelah menambahkan komponen Collider, periksa isTrigger.
- Sesuaikan ukuran Collider agar sesuai dengan jangkauan di mana pemain dapat berinteraksi dengan objek.
3) Buat Hierarki > Buat Objek Kosong sebagai anak dari DockPoint dan ganti namanya menjadi IconPos.
1) Buat Hierarki > UI > Kanvas sebagai anak dari objek yang akan berinteraksi dengan karakter ZEPETO dan ganti namanya menjadi PrefIconCanvas.
- Atur Mode Render ke Ruang Dunia.
- Atur Lebar dan Tinggi masing-masing menjadi 1.
- Hapus centang opsi Abaikan Grafik Terbalik pada komponen Graphic Raycaster.
2) Buat Hierarki > UI > Tombol sebagai anak dari PrefIconCanvas.
3) Setelah pengaturan selesai, buat menjadi Prefab dan hapus PrefIconCanvas yang tersisa di hierarki.
1) Buat Proyek > Buat > ZEPETO > TypeScript dan ganti namanya menjadi InteractionIcon.
2) Tulis skrip contoh seperti di bawah ini.
- Alur skrip adalah sebagai berikut:
- Perbarui()
- Panggil fungsi kustom UpdateIconRotation() untuk memutar kanvas ikon agar sesuai dengan rotasi kamera.
- OnTriggerEnter(), OnTriggerExit()
- Ketika Anda memasuki area Collider dan mendeteksi pemicu, panggil fungsi kustom ShowIcon() untuk mengaktifkan ikon.
- Ketika Anda keluar dari area collider, panggil fungsi kustom HideIcon() untuk menonaktifkan ikon.
3) Setelah menyelesaikan pembuatan skrip, tambahkan skrip ke objek DockPoint.
4) Tetapkan Kanvas Ikon Pref, Posisi Ikon dari inspector.
1) Buat Proyek > Buat > ZEPETO > TypeScript dan ganti namanya menjadi Interaksi Gesture.
2) Tulis skrip contoh seperti di bawah ini.
- Alur skrip adalah sebagai berikut:
- Mulai()
- Ketika ikon diklik, itu dinonaktifkan dan memanggil fungsi kustom DoInteraction().
- DoInteraction()
- Jika isSnapBone dicentang,
- Jika kursi kosong (allowOverlap dicentang, atau nilai kembalian fungsi kustom FindOtherPlayerNum() kurang dari 1)
- Ambil gerakan yang ditugaskan ke animationClip.
- Mulai Coroutine SnapBone() dan lampirkan bodyBone karakter ZEPETO ke targetTranform.
- Mulai Coroutine WaitForExit().
- Ketika karakter ZEPETO melompat atau bergerak, atau keluar dari area collider, batalkan gerakan dan aktifkan ikon.
- Aktifkan ikon ketika kapasitas tempat duduk sudah penuh.
- Jika isSnapBone tidak dicentang,
- Ambil gerakan yang ditugaskan ke animationClip.
- Mulai Coroutine WaitForExit().
3) Setelah menyelesaikan pembuatan skrip, tambahkan skrip ke objek DockPoint.
4) Tetapkan Klip Animasi, Apakah Snap Bone, Body Bone, dan Izinkan Overlap di inspector.
- Tetapkan Klip Animasi. Ini adalah gestur yang harus diambil dengan interaksi.
- Periksa Apakah SnapBone. Pastikan bahwa bagian yang ditetapkan ke body bone diposisikan sebagai DockPoint.
- Tetapkan Body Bone ke Hips. Pastikan bahwa pinggul diposisikan di DockPoint karena ini akan menjadi gestur duduk.
- Izinkan Overlap memungkinkan Anda menentukan apakah beberapa orang dapat duduk di satu kursi.
Tombol akan muncul ketika karakter ZEPETO mendekati objek, dan menghilang ketika menjauh.
Jika gerakan yang Anda atur dimainkan saat mendekati dan berinteraksi dengan tombol, itu adalah keberhasilan.
Selain gerakan, berbagai peristiwa dapat diterapkan untuk terjadi setelah interaksi.
Berikut adalah contoh penerapan peristiwa yang menciptakan item setelah interaksi.
📘 Contoh Zepeto World - Contoh Interaksi Bab 3 https://github.com/naverz/zepeto-world-sample/tree/main/Assets/Chapter3