---
title: 3. Mendesain Dunia dengan Build it Unity Plug-in
slug: world-sdk-guide-id/3-mendesain-dunia-dengan-build-it-unity-plug-in
docTags: 
createdAt: 2025-04-22T02:28:14.556Z
---

# 1. Menambahkan Fitur Dasar

:::hint{type="success"}
**Ikuti video di bawah ini untuk menambahkan berbagai fitur ke dunia Anda tanpa perlu *coding*!**

**Subtitle tersedia dalam berbagai bahasa, jadi pastikan Anda menyalakannya saat menonton!**
:::

::embed[]{url="https://youtu.be/lqEmRnzLdGo?si=R51sWhdwIeqL27n_"}

:::BlockQuote
📌 **Klik objek yang ingin Anda pelajari di bawah ini!**
:::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
[Objek Interaction](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Mengatur Spawn Point](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Memainkan Suara](#)

[Timer Misi](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Menghasilkan Angka Acak](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::

:::VerticalSplitItem
[Objek Teleport](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Memainkan BGM](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Membuat Popup Selamat Datang](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Objek Reward Chest](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Objek DrawingCanvas](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::
::::

## Objek Interaction

Objek **Interaction** membuat karakter Anda melakukan *gesture* tertentu saat pengguna mengklik ikonnya.

- **Interaction\_bed**: Memainkan *gesture* karakter yang berbaring santai di tempat tidur.
- **Interaction\_chair**: Memainkan *gesture* karakter yang duduk santai di kursi.
- **Interaction\_dance**: Memainkan *gesture* karakter yang sedang menari.

Anda dapat memodifikasi objek interaksi ini untuk menerapkannya dengan berbagai cara.

- **Mengubah Animation Clip**: Jika Anda mengganti file animasi yang diterapkan pada *animation clip* milik *child object* (`InteractionPoint`), *gesture* yang berbeda akan dimainkan saat interaksi dilakukan.
- **Is Snap Bone**: Posisi karakter dikunci berdasarkan Bone tertentu. Misalnya, jika Bone diatur ke Foot, kaki karakter akan terkunci di posisi `InteractionPoint` selama animasi diputar. Menghapus centang pada opsi ini memungkinkan karakter bergerak bebas secara terpisah dari objek.
- **Body Bone**: Mengatur Bone mana yang akan menjadi titik kunci karakter saat `Is Snap Bone` dicentang.
- **Mengubah Penampilan Objek**: Hapus *child object* yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama persis untuk mengubah tampilannya.
- **Mengubah Posisi Ikon Interaksi**: Jika Anda mengubah penampilan objek, sesuaikan posisi *child object* `IconPos` agar pas dengan desain baru Anda.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-3mec8_PR9hKEIRR718TGI-20241030-020537.png)

## Mengatur Spawn Point

Dengan menggunakan objek **SpawnPoint**, Anda dapat mengatur lokasi persis di mana karakter ZEPETO akan muncul saat dunia dimulai.

- Jika tidak ada objek Spawn di Scene, karakter ZEPETO akan muncul di koordinat x=0, y=0, z=0.
- Jika ada beberapa objek Spawn, karakter ZEPETO akan memilih salah satu secara acak dan muncul di lokasi tersebut.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-0uf2Ekf3584C0uEKtcuw_-20241030-020632.png)

## Memainkan Suara

Objek **SFX** akan memainkan suara yang telah ditentukan saat pengguna mengklik ikonnya. Tempatkan objek di Scene dan sesuaikan pengaturannya di jendela Inspector.

- **AudioClip**: Anda dapat memasukkan klip audio di jendela Inspector. Gunakan file audio berformat .mp3 atau .wav di sini.
- **IconPos**: Anda dapat menyesuaikan posisi tombol yang akan disentuh oleh pengguna.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-81sQOudoacJnA4I72juDX-20241030-020522.png)

## Timer Misi

Objek **Timer** menampilkan UI waktu dan mulai merekam waktu saat pengguna mengklik objek "Start" (Mulai). Saat pengguna mengklik objek "Arrival" (Tiba), UI waktu akan menghilang dan pesan sukses akan muncul.

Anda dapat menyesuaikan penampilan objek Timer dan posisi tombol interaksinya agar sesuai dengan konsep dunia Anda.

- **Mengubah Penampilan Objek**: Hapus *child object* yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya.
- **Mengubah Posisi Ikon Interaksi**: Jika Anda mengubah penampilan objek, sesuaikan posisi *child object* `IconPos` dengan semestinya.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-SNz_WMgocucenDZLD8a93-20241030-020622.png)

## Menghasilkan Angka Acak

Dengan menggunakan objek **Roulette**, sebuah angka acak akan dihasilkan saat pengguna mengklik ikonnya, dan hasilnya akan ditampilkan di jendela obrolan (chat) ZEPETO.

- **Mengatur Rentang Angka**: Pilih objek Roulette dan sesuaikan angka minimum dan maksimum di jendela Inspector.

Anda juga dapat menyesuaikan penampilan objek Roulette dan posisi tombol interaksinya sesuai dengan konsep Anda sendiri.

- **Mengubah Penampilan Objek**: Hapus *child object* yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya.
- **Mengubah Posisi Ikon Interaksi**: Jika Anda mengubah penampilan objek, sesuaikan posisi *child object* `IconPos` dengan semestinya.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-HGqhbeNLskUZw1pDRsFag-20241030-020553.png)

## Objek Teleport

Objek **Teleport** akan langsung memindahkan pengguna ke lokasi yang telah ditentukan saat mereka mengklik ikonnya.

- **Titik Tujuan (Destination Point)**: Anda dapat mengatur titik kedatangan dengan memindahkan *child object* `destination` ke lokasi yang Anda inginkan.

Anda dapat menyesuaikan penampilan objek Teleport dan posisi tombol interaksinya agar sesuai dengan konsep dunia Anda.

- **Mengubah Penampilan Objek**: Hapus *child object* yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya.
- **Mengubah Posisi Ikon Interaksi**: Jika Anda mengubah penampilan objek, sesuaikan posisi *child object* `IconPos` dengan semestinya.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-PnTjfh9CrHEty2VM0Dcd_-20241030-020545.png)



## Memainkan BGM

Menempatkan objek **BGM** di Scene akan memainkan musik latar. Harap tempatkan hanya satu BGM per Scene.

- **AudioClip**: Anda dapat memasukkan klip audio di jendela Inspector. Gunakan file audio berformat .mp3 atau .wav di sini.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-lfyL1e2pJSJ2QDeh_b3RH-20241030-020513.png)

Pengguna dapat menyalakan atau mematikan musik latar dengan menyentuh ikon BGM di sisi kanan layar.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/I5T7Ac25AuC41H6_ONOS2_image.png)

## Membuat Popup Selamat Datang

Objek **Popup** adalah jendela yang muncul saat pengguna memasuki dunia. Mengklik tombol di dalam popup akan otomatis menutupnya.

Gunakan jendela popup ini untuk memperkenalkan dunia Anda atau mempromosikan *event* spesial Anda!

:::hint{type="danger"}
**Catatan Penting**

- Jendela Popup tidak diletakkan di tanah seperti objek biasa.
- Jendela ini ditempatkan di area layar UI dan dapat diperiksa di tampilan Game.
:::

Pilih Popup di Hierarchy lalu modifikasi propertinya di Inspector. Anda dapat memeriksa perubahannya di mode Play.

- **Background Image**: Seret dan jatuhkan gambar *sprite* 2D untuk mengubahnya.
- **Message**: Anda dapat mengubah teks pesannya.
- **Message Color**: Anda dapat mengubah warna teks pesannya.
- **Message Shadow**: Anda dapat menyalakan/mematikan efek bayangan pada teks.
- **Button Title**: Anda dapat mengubah teks pada tombol.

![](https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-LK33ZoHZSmXIA7jUT9L_Y-20241101-030457.png)

## Objek Reward Chest

Dengan menempatkan **Reward Chest** (Peti Hadiah) di dunia Anda, pemain bisa mendapatkan ZEM atau Koin tergantung pada *event* yang berlangsung.

Saat pengguna memasuki dunia yang memiliki Reward Chest, sebuah popup akan memberi tahu mereka berapa banyak peti yang tersedia di dunia tersebut.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/4Hhp2HzazysI1dh9SbGeD_popup.gif)

Cobalah menyembunyikan Reward Chest di lokasi rahasia atau menempatkannya di garis akhir *jump map* untuk memberi hadiah kepada pemain Anda!

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ArYdSd6c2plUU6Qc7sN5e_reward.gif "Pemain mendapatkan hadiah dari Reward Chest")

- Logika Operasi
  - Kreator dunia harus menempatkan Reward Chest di lokasi yang sesuai di dalam dunia mereka.
    - Tolong jangan menempatkannya di tempat yang terlalu mudah ditemukan.
    - Jika hadiah terlalu mudah didapatkan, dunia Anda mungkin tidak akan lolos proses peninjauan atau dapat diturunkan tanpa pemberitahuan.
    - Kreator dunia juga dapat memperoleh hadiah di dunia mereka sendiri.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/d1wECjm8cjBHAzKCjBPsE_image.png)

- **Timeout** - Jika Anda ingin meningkatkan waktu bermain di dunia Anda, cobalah menambahkan hitung mundur singkat sebelum pemain dapat mengambil hadiah.
  - Masukkan waktu hitung mundur (dalam detik) di kolom Timeout. Nilai *default*-nya adalah 60 detik.
    - Memasukkan angka 0 akan langsung memberikan hadiah tanpa hitung mundur.
- **Activated Icon Color**
  - Sebelum hitung mundur dimulai, ikon interaksi akan berwarna putih. Setelah hitung mundur selesai, warna ikon akan berubah menjadi warna yang diatur di sini.
- **Group id**
  - Hanya satu peti dari Group id yang sama yang akan terlihat.
  - Jika Anda menetapkan Group id yang berbeda, satu peti dari masing-masing grup akan terlihat.

:::hint{type="danger"}
**Catatan Penting**

- *Event* hadiah ZEM/Koin dioperasikan oleh ZEPETO dan tidak dapat dikonfigurasi oleh kreator dunia.
- Ada batas jumlah hadiah yang bisa didapatkan oleh satu orang dari *event* tersebut. Begitu batasnya tercapai, mereka tidak dapat lagi mendapatkan hadiah.
- Jika bukan pada masa *event*, Reward Chest tidak akan terlihat, dan hadiah tidak dapat diambil.
:::



## Objek DrawingCanvas

**DrawingCanvas** adalah objek kanvas yang memungkinkan pemain untuk menggambar dengan bebas di dalam dunia Anda.

Fitur ini secara otomatis mendukung **sinkronisasi multiplayer**, sehingga Anda dapat menggambar dan berkomunikasi secara real-time dengan pengguna lain yang terhubung ke dunia yang sama.

Cobalah memanfaatkannya dengan ide-ide kreatif Anda sendiri, seperti membuat ruang di mana Anda dan teman-teman bisa bebas mencoret-coret bersama, atau merancang game kuis tebak gambar!

![Drawing Canvas Object](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/IRJg7YRVf1f1s1M-W_Y6s_group-22.png)

- Pilih objek **DrawingCanvas** di **Build it Asset Browser > Utility**.
- Tempatkan di posisi yang Anda inginkan di dalam **Scene**.

::Image[Di jendela **Hierarchy**, pastikan objek `DrawingCanvas` telah ditempatkan dengan benar di bawah `Objects`.]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/xfN8RK1ykEsfmahRHAn2c_drawing.png" size="60" isUploading="false" width="418" height="378" darkWidth="418" darkHeight="378" alt="DrawingCanvas placed in Hierarchy" showCaption="false" indent="1"}

### Menggunakan Fitur Menggambar

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/DTqLwt059YWM6gc94Aa7l_image-18.png" size="80" isUploading="false" width="893" height="498" darkWidth="893" darkHeight="498" alt="Drawing Canvas" showCaption="false"}

Pengguna yang mengunjungi dunia Anda dapat mendekati kanvas dan merasakan langsung berbagai fitur menggambar seperti di bawah ini:

- **Masuk ke Mode Menggambar**: Saat Anda mendekati kanvas, ikon UI menggambar akan muncul. Menekan ikon tersebut akan memulai mode menggambar.
- **Pengaturan Kuas dan Warna**:
  - **Mengatur Ukuran Kuas:** Anda dapat menyesuaikan ukuran kuas menggunakan Bar di sebelah kiri dan bebas memilih warna yang Anda inginkan.
  - **Mengatur Intensitas Warna:** Anda dapat menyesuaikan saturasi warna dengan menggeser Bar di sebelah kanan.
- **Menghapus**: Gunakan alat penghapus (eraser) untuk menghapus dan memperbaiki bagian yang salah gambar dengan mudah.
- **Ember Cat (Paint Bucket)**: Buatlah garis tertutup menggunakan kuas untuk membentuk sebuah area, lalu sentuh bagian dalamnya untuk mengisi seluruh area tersebut dengan warna yang dipilih sekaligus.
- **Undo dan Redo**: Anda dapat kembali ke langkah sebelumnya (Undo), atau memulihkan kembali pekerjaan yang telah di-undo (Redo). Namun, harap diingat bahwa fitur ini hanya mendukung hingga maksimal 3 langkah.
- **Hapus Semua**: Anda dapat menghapus semua yang telah digambar di kanvas.

:::hint{type="success"}
**Aturan Penggunaan Multiplayer**

- **Hanya satu orang yang dapat menggambar di satu kanvas:** Saat seorang pengguna mulai menggambar di kanvas, kanvas tersebut akan ditempati oleh pengguna tersebut. Ikon menggambar akan disembunyikan sepenuhnya dari pengguna lain, sehingga tidak ada orang lain yang dapat menambahkan gambar pada kanvas yang sudah digunakan oleh seseorang.
- **Anda dapat melanjutkan gambar di kanvas Anda kapan saja:** Pada kanvas tempat Anda menggambar, ikon akan tetap muncul, sehingga Anda dapat dengan bebas melanjutkan gambar Anda kapan pun.
- **Kanvas akan direset saat Anda keluar dari ruangan (room):** Jika pengguna yang sedang menggambar keluar dari ruangan, gambar yang telah dibuat di kanvas tersebut akan terhapus. Kanvas akan kembali ke keadaan kosong dan siapa saja dapat kembali menggambar di atasnya.
- **Rekomendasi jumlah penempatan (Optimisasi):** Secara teori, tidak ada batasan jumlah kanvas yang dapat ditempatkan. Namun, demi kelancaran optimisasi dunia (world), kami menyarankan agar Anda menempatkan tidak lebih dari 10 kanvas per dunia.
:::



# 2. Objek NPC

:::BlockQuote
📌 **Klik objek yang ingin Anda pelajari di bawah ini!**
:::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
[Objek NPC Dasar](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Objek NPC Interaktif](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::

:::VerticalSplitItem
[Mengatur Dialog NPC](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::
::::

## Objek NPC Dasar

Anda dapat membuat karakter NPC dengan memasukkan Zepeto ID. Tempatkan objek NPC di Scene dan ubah pengaturannya di Inspector.

NPC tidak akan muncul di mode Edit; NPC hanya akan muncul saat Anda menekan tombol Play.

Gunakan properti di bawah ini untuk mengonfigurasi NPC Anda.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/zanv6Go2AsBVQpKyEjLIs_image.png "Basic NPC Object")

- **Zepeto ID**: Masukkan ID akun ZEPETO yang ingin digunakan.
- **Dialogue**
  - **Has Speech Bubble**: Jika diaktifkan, balon percakapan (speech bubble) akan muncul saat pemain mendekati NPC.
  - **Speech Bubble Text**: Masukkan teks untuk balon percakapan karakter NPC.
    - Anda dapat mendaftarkan beberapa teks balon percakapan.
    - Klik tombol + untuk menambahkan teks baru, atau tombol - untuk menghapus teks yang ada.
  - **Randomize Dialogue**: Anda dapat mengatur agar teks balon percakapan NPC muncul dalam urutan acak.
    - Jika tidak dicentang, teks akan ditampilkan secara berurutan, dimulai dari yang pertama (Element 0).
  - **Speech Bubble Text Duration:** Mengatur berapa lama (dalam detik) balon percakapan tetap berada di layar.
  - **Speech Bubble Prefab:** Desain Prefab untuk balon percakapan.
  - **Speech Bubble Y Offset:** Menyesuaikan posisi sumbu Y (ketinggian) balon percakapan relatif terhadap kepala karakter.
- **Animations**
  - **Dialogue Animations:** Daftar animasi karakter yang akan dimainkan bersamaan dengan dialog.
    - Animasi yang dimainkan akan sesuai dengan urutan `Speech Bubble Text`.
    - Jika tidak ada animasi yang ditentukan untuk urutan dialog saat ini, animasi pertama (Element 0) dalam daftar akan dimainkan secara *default*.
  - **Idle Animation:** Jika `Enable Movement` dinonaktifkan, ini adalah animasi yang diputar saat karakter berdiri diam.
- **Movement**
  - **Enable Movement:** Jika diaktifkan, karakter akan berkeliaran secara acak di dalam area yang telah ditentukan.
    - Jika Anda menginginkan NPC yang diam, matikan opsi ini.
  - **Movement Area:** Menentukan area jelajah NPC menggunakan komponen Box Collider.
    - Anda dapat menyesuaikan jangkauan pergerakan NPC dengan mengatur ukuran dan posisi Box Collider.
    - Garis Box Collider akan menghilang selama mode Play.
  - **Min Idle Time:** Waktu tunggu minimum (dalam detik) setelah bergerak sebelum memulai pergerakan berikutnya.
  - **Max Idle Time:** Waktu tunggu maksimum (dalam detik) setelah bergerak sebelum memulai pergerakan berikutnya.
- Contoh Penggunaan

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/j1R6COt4PX1k8bdYSPk4U_image.png)

## Objek NPC Interaktif

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/O8PhoJvXt4of5z2eSyeqt_group-20.png)

**Objek NPC\_v2** dilengkapi dengan fitur **Dialogue** baru yang bertransisi menjadi mode percakapan penuh saat pemain mendekat dan berinteraksi dengannya.

Pengaturan dasarnya sama dengan 'Objek NPC Dasar', tetapi ada tambahan properti baru khusus untuk dialog. Lihat perbedaannya di bawah ini!

- **Zepeto ID, Animations, Movement** : Berfungsi persis sama dengan NPC dasar.

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/TkOZLEQSlSkXegfwMzGab_group-21.png" size="64" width="502" height="557" darkWidth="502" darkHeight="557" position="center" caption="NPC_v2 " showCaption="true"}

- **Npc Name** : Masukkan nama NPC yang akan ditampilkan di layar dialog.
- **Dialogue Id** : Masukkan nama file dialog yang akan diterapkan.

## Mengatur Dialog NPC

Dengan memanfaatkan **Sistem Dialog NPC** yang baru, Anda dapat menambahkan NPC yang jauh lebih menyenangkan dan hidup ke dunia Anda!

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/1huH_rY1OkPfQxEnEhtC2_image.png)

Alih-alih jawaban singkat yang sederhana, Anda dapat membuat **sistem dialog yang berkelanjutan** di mana cerita bercabang berdasarkan pilihan pengguna.

Dengan dukungan terjemahan bahasa (*Localization*) untuk pengguna global, siapa pun bisa terhanyut secara alami ke dalam percakapan.

### 1. Menggunakan Dialogue Helper

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/dZsdPGy7tfM7RbOgLUlZ3_image.png" size="46" width="536" height="634" position="center" caption="Dialogue Helper" darkWidth="536" darkHeight="634" showCaption="true"}

**Dialogue Helper** adalah menu pusat di mana Anda dapat mengelola pembuatan dialog dan penugasan NPC di satu tempat.

- Buka jendela dengan memilih **ZEPETO > Dialogue Helper** dari menu atas.
- **Kolom NPC** : Menampilkan NPC yang saat ini dipilih di Scene. Kolom ini akan otomatis diperbarui saat Anda memilih GameObject yang memiliki Komponen `ZepetoNPC`. (Jika tidak diperbarui secara otomatis, tekan **Refresh**).

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/kEYc9XIBgjQJWtjfvpXRA_group-16.png" size="58" width="381" height="324" position="center" darkWidth="381" darkHeight="324" showCaption="false"}

- **Kolom Dialogue** : Menunjukkan dialog yang terhubung dengan NPC saat ini. Klik di sini untuk memilih dan menetapkan aset dialog (Node Graph Asset) yang Anda inginkan dengan mudah.
- **Tombol Export** : Tombol ini menerapkan pengaturan dialog Anda agar berfungsi dengan baik di dunia nyata. **Anda wajib mengklik tombol ini** setelah memasukkan semua baris dialog NPC untuk menyelesaikan pengaturan aset dialog.
- **Folder Dialogue** : Membuka folder tempat semua aset dialog (Node Graph Asset) yang Anda buat disimpan.
- **Create New** : Membuat aset dialog (Node Graph Asset) baru.

:::hint{type="success"}
**Apa itu Aset Dialog (Node Graph Asset)?** Ini adalah **file dialog** tempat semua baris teks yang Anda tulis disimpan.
File ini diperlukan agar NPC di dunia nyata dapat mengucapkan kalimat yang telah Anda tulis.
:::

### 2. Menggunakan Dialogue Graph Editor (Node Editor)

Saat Anda mengklik **Create New** di **Dialogue Helper** atau membuka sebuah aset dialog, **Dialogue Graph Editor** akan muncul.

Editor ini memungkinkan Anda untuk merancang alur dialog yang kompleks dengan mudah dengan cara menghubungkan kotak-kotak percakapan. Anda dapat melihat secara visual bagaimana dialog tersebut bercabang berdasarkan pilihan selagi Anda membangunnya.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/TMpPLc8fY8eMDeNEimZdQ_image.png "Dialogue Graph Editor")

**Cara menggunakan Dialogue Graph Editor**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/J3QwwBROtvRsFflZo3FRc_group-17.png "How to use Dialogue Graph Editor")

- **Minimap**: Peta yang membantu Anda memahami alur keseluruhan secara sekilas saat struktur dialog menjadi kompleks dan *node* semakin banyak. Anda dapat menggunakannya untuk memeriksa tampilan Anda saat ini atau melompat cepat ke lokasi yang diinginkan.
- **Info**: Memberikan panduan kontrol dasar dan *shortcut* yang dibutuhkan saat menavigasi Dialogue Graph Editor.

**Jenis-jenis Core Node**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/YGNKKmXDfMvx9fZ0LDV5z_image.png" size="46" width="498" height="706" position="center" caption="NPC Node" darkWidth="498" darkHeight="706" showCaption="true"}

- **NPC Node**: Node inti untuk memasukkan baris dialog NPC dan respons pemain (pilihan).
  - **What the NPC says**: Kolom untuk memasukkan kalimat yang akan diucapkan NPC.
  - **Gesture**: Pilih animasi yang akan ditampilkan NPC selama percakapan.
    - Anda dapat menerapkan *gesture default* langsung dari daftar *dropdown*.
      - Aksi yang disediakan: **Idle**, **Talk**, **Laugh**, **Think**, **Ok**, **No**, **Hi**, **Bye**.

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/CrkEYK2q0yLLwv8nCVZTc_dialogue.png" size="78" width="674" height="428" darkWidth="674" darkHeight="428" position="center" caption="Custom Gesture" showCaption="true"}

:::Paragraph{listStyleType="disc" indent="3"}
Jika Anda ingin menggunakan *gesture kustom* sendiri yang tidak ada dalam daftar, pilih **Custom** dan masukkan **nama animasi yang sama persis** di kolom **Custom Animation**.
:::

:::Paragraph{listStyleType="disc" indent="3"}
Harap letakkan file animasi karakter yang ingin Anda tautkan ke dalam **folder** `Resources/Animations/` di proyek Unity Anda.
:::

:::hint{type="danger" indent="4"}
**Penting**
Saat menggunakan *gesture* **Custom**, jika ada salah ketik pada nama file animasi atau file tidak ada, popup peringatan akan muncul, dan Anda **tidak akan bisa melakukan Export**.
:::

- **Answer options**: Anda dapat menambahkan 1 hingga 3 opsi jawaban untuk dipilih oleh pemain.
  - Dengan menghubungkan node ke setiap respons, Anda dapat mencabangkan percakapan baru berdasarkan pilihan pengguna.
- **End Node**: Menandai akhir dari percakapan. Saat pemain memilih opsi yang terhubung ke node ini, dialog akan berakhir.

***

**Mengedit dan Menghubungkan Graph**

Anda dapat membuat dan menghubungkan *node* di kanvas dialog dengan cara berikut:

- **Klik kanan** di ruang kosong untuk membuat *node* baru (**Create Node**), atau untuk menyalin dan menghapus *node* yang sudah ada.
- Seret (drag) *port* **Output** di sisi kanan opsi pilihan (Answer options) dan hubungkan ke *port* **Input** pada *node* berikutnya untuk melengkapi alur percakapan.

:::hint{type="success"}
**TIPS**

Anda dapat menavigasi layar menggunakan metode berikut:

- **Navigasi (Navigation):**
- **Tombol tengah mouse** (Klik roda *scroll*)
- **Klik kiri mouse + tombol Option/Alt (⌥)**

**Memilih & Menu (Selection & Menu):**

- **Pilihan tunggal:** Klik kiri mouse
- **Pilihan kotak (Rectangular):** Klik kiri mouse (Seret untuk memilih dalam bentuk kotak)
- **Buka menu Node:** Klik kanan mouse
:::

***

**Pengaturan Dukungan Localization (Terjemahan)**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/X-pD1SQ59Yob7uCAi0Zmm_image.png" size="80" width="998" height="868" position="center" caption="Localization" darkWidth="998" darkHeight="868" showCaption="true"}

- **Pengaturan Jendela Inspector**: Klik aset dialog yang dihasilkan (Node Graph Asset) dan periksa jendela Inspector untuk memilih bahasa yang didukung (Inggris, Korea, Jepang, dll.).

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/DkNL6q-yMPRz81r6VOrM8_group-8.png " Language Selector")

- **Menggunakan Editor Toolbar**: Ubah bahasa di **Language Selector** di kiri atas jendela editor untuk memasukkan teks terjemahan secara langsung untuk masing-masing bahasa.

### 3. Membuat Dialog NPC Baru

::::WorkflowBlock
:::WorkflowBlockItem
**Membuat Dialog**

- Klik **Create New** di jendela **Dialogue Helper**.

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/nq91ZFLWXZoqMPeeXDgx-_group-11.png" size="80" width="705" height="502" position="center" caption="Create New Dialogue" darkWidth="705" darkHeight="502" showCaption="true"}

- Di **Dialogue Editor** yang terbuka otomatis, edit kalimat NPC dan pilihan pemain secara bebas untuk membangun *node* dialog Anda.
:::

:::WorkflowBlockItem
**Menetapkan NPC**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/dyS5ZDYKgep6QGzAV8DS8_group-13.png "Assign an NPC")

- Klik objek NPC yang ingin Anda tambahkan dialognya di jendela Hierarchy.
- Verifikasi bahwa objek tersebut memiliki Komponen `ZepetoNPC` di jendela Inspector.
- Seret dan jatuhkan (drag and drop) NPC ke kolom 'NPC' di Dialogue Helper.
:::

:::WorkflowBlockItem
**Menerapkan Dialog dan Melakukan Export**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/YLATe_VGG3v3r2j3L9CWm_group-15.png "Assignment and Export")

- Klik **kolom Dialogue** di Dialogue Helper untuk menautkan aset dialog yang baru saja Anda buat.
- Setelah diterapkan, klik tombol **Export** agar berfungsi dengan baik di dalam dunia.
:::

:::WorkflowBlockItem
**Pengecekan Akhir di Inspector**
Pastikan pengaturannya sudah benar di jendela Inspector milik NPC (Komponen `ZepetoNPC`).

- **NPC**: Verifikasi bahwa aset NPC yang benar sudah ditetapkan.
- **Dialogue Id**: Pastikan teksnya cocok dengan aset dialog yang Anda pilih.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/DCql1JOw-kbQHgSVAnpfA_group-10.png "Final Check")
:::
::::

:::hint{type="success"}
**TIPS**

- Anda dapat dengan mudah menggunakan kembali aset dialog NPC yang sama untuk beberapa NPC lainnya.
- Untuk memastikan perubahan dialog Anda tercermin dengan baik di dalam *game*, **lakukan Export sesering mungkin** setelah mengubah dialog.
:::

:::hint{type="danger"}
**FAQ**

- **Saat dialog tidak berfungsi seperti yang diatur:** Pastikan Anda telah mengklik Export, dan periksa apakah Dialogue Panel dan Dialogue Id sudah dimasukkan dengan benar di Inspector.
- **Saat informasi NPC tidak diperbarui di *tool*:** Tekan tombol **Refresh** di jendela Dialogue Helper, atau klik lagi NPC tersebut di Hierarchy.
:::

# 3. Objek Vehicle (Kendaraan)

## Vehicle

Jika Anda menempatkan kendaraan resmi dari tema Vehicle di dunia Anda, pemain bisa naik dan mengendarainya.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/AXa4Fg1gfAXhG7-xvhk_o-20250925-071339.png)

:::hint{type="danger"}
Jika Anda menempatkan beberapa kendaraan yang sama di dalam Scene dengan nama yang sama, *error* mungkin saja terjadi. Harap pastikan setiap kendaraan memiliki nama yang unik.
:::

***

- Anda dapat menyesuaikan kecepatan untuk setiap kendaraan. Cobalah membuat *game* balapan dengan kendaraan yang memiliki kecepatan berbeda-beda!
  - Lokasi Pengaturan Kecepatan
    - Buka folder **Assets/BuilditTemplate/Themes/ZepetoAsset\_Vehicle/Settings**.
    - Pilih file *script* milik kendaraan, lalu Anda bisa mengedit nilainya di Inspector yang ada di sebelah kanan.
  - Pengaturan Kecepatan
    - `rotateAnglePerFrame`: Seberapa cepat setir berputar (sensitivitas *handling*).
    - `accSpeedPerFrame`: Seberapa cepat mobil berakselerasi.
    - `decreaseSpeedPerFrame`: Seberapa cepat mobil melambat (mengerem).
    - `magnification`: Kecepatan dasar mobil.
    - `backMagnification`: Kecepatan saat mundur.
    - `boostMagnification`: Kecepatan saat menggunakan *boost*.
    - `boostDuration`: Berapa lama *boost* bertahan.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ugijVAXP2BoqfiCTBYRYT-20250926-055419.png)

**Tips Penerapan**

- Anda bisa mengubah objek penampilan di bawah kendaraan untuk membuatnya terlihat seperti tunggangan yang benar-benar berbeda.
  - Biarkan pemain menaiki objek yang unik!

![](https://app.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/dAaOKzaNHJGj1asY9Xopq-20250925-073225.png)

## vehicle\_vendor

Menempatkan `vehicle_vendor` dari tema Vehicle di dunia Anda memungkinkan pemain untuk berinteraksi dengan objek *vendor* (penjual) dan memanggil kendaraan.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/vR4Gk3N4-UedsM9E1tAt--20250925-073522.png)

- Konfigurasi Vendor
  - `Booth`: Anda dapat mengatur bentuk/tampilan dari *vendor*.
  - `Popup`: Jendela yang muncul di layar bagi pemain untuk memilih mobil saat mereka menekan tombol *vendor*.
  - `SpawnLocation`: Anda dapat mengatur di mana mobil yang dipanggil akan muncul.

## AdVehicleSpawner

Menempatkan `AdVehicleSpawner` dari tema Utility memungkinkan pemain untuk mengendarai kendaraan setelah menonton iklan.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/uqviCrOh2sXMSDFc7OacZ-20250925-073530.png)

- Catatan Penting
  - Kendaraan hadiah iklan hanya akan bertahan selama pemain mengendarainya.
  - Begitu Anda keluar dari mobil, mobil itu akan langsung menghilang.
- Konfigurasi Spawner
  - `Vehicle Prefab`: Anda dapat memilih kendaraan apa yang akan diberikan sebagai hadiah iklan.
  - `Spawn Point`: Anda dapat mengatur di mana mobil akan muncul setelah iklan selesai ditonton.
  - `Life Time`: Anda dapat mengatur berapa lama waktu yang dibutuhkan sebelum mobil menghilang. Jika Anda mengaturnya ke '0 detik', pemain dapat mengendarainya terus-menerus sampai mereka keluar dari mobil.

# 4. Menambahkan Item Wajib Jump Map

:::hint{type="success"}
**Ikuti video di bawah ini dan cobalah menambahkan berbagai objek ke *jump map* Anda!**

**Subtitle tersedia dalam berbagai bahasa, jadi pastikan Anda menyalakannya saat menonton!**
:::

::embed[]{url="https://youtu.be/MhQ4OnuvHKY"}

:::BlockQuote
📌 **Klik objek yang ingin Anda pelajari di bawah ini!**
:::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
[Menggunakan Moving Platform](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Bom Waktu](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Buff](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Scaling](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Pegas](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Berkedip](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::

:::VerticalSplitItem
[Conveyor Belt](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Berputar](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Jatuh](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Jebakan Mematikan](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Checkpoint](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::
::::

## Menggunakan Moving Platform

Objek **MovingPlatform** adalah platform bergerak yang sangat berguna untuk *jump map* (peta lompat). Karakter dapat menaikinya, dan Anda bisa dengan mudah mengatur lintasan serta kecepatan bergeraknya.

Platform ini secara otomatis tersinkronisasi di mode *multiplayer*, sehingga semua orang di dalam ruangan melihat pergerakan yang persis sama.

Anda dapat mengatur propertinya di *child object* `MovingPlatformManager`.

- **Sync Type**: Properti untuk pengaturan sinkronisasi.
  - Sync: Menggunakan sinkronisasi *multiplayer*.
  - NoneSync: Tidak menggunakan sinkronisasi.
- **Tween Type**: Properti yang menentukan bagaimana DOTween menangani gerakan bolak-balik.
  - Circulation: Bergerak dalam putaran melingkar. 1 -> 2 -> 3 -> 4 -> 1 -> 2 -> 3 -> 4
  - Linear: Kembali melalui jalur linear yang sama. 1 -> 2 -> 3 -> 4 -> 3 -> 2 -> 1
  - TeleportFirstPoint: Berteleportasi kembali ke titik awal saat mencapai titik akhir dan mengulanginya lagi. 1 -> 2 -> 3 -> 4 -> 1(teleportasi)
- **Loop Type**: Properti yang menentukan berapa kali putaran diulang.
  - Repeat: Mengulang terus menerus.
  - JustOneWay: Bergerak hanya satu arah.
  - JustOneRoundTrip: Melakukan satu kali perjalanan bolak-balik.
- **Sync Extrapolation**: Menghitung penyesuaian posisi tambahan dengan mempertimbangkan waktu *delay* (jeda) server.
  - default : true
- **Tween Position**
  - Masukkan koordinat `localPosition` yang akan dilewati oleh platform. Platform bergerak sesuai urutan koordinat yang dimasukkan berdasarkan Tween Type.
  - Setidaknya harus ada 2 koordinat (Mulai-Akhir) yang diatur.
- **Move Speed**: Kecepatan bergerak objek.

Anda dapat menyesuaikan penampilan MovingPlatform agar sesuai dengan konsep Anda.

- **Mengubah Penampilan Objek**: Hapus *child object* yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya.

::Image[]{src="https://api.archbee.com/api/optimize/BtCo2cIFh9h5Mo0EP64o_-UWN2-Nf9GSPizhqtxtm1o-20241030-020642.png" size="50" width="381" height="817" position="center" darkWidth="381" darkHeight="817" showCaption="false"}



## Bom Waktu

**BombTrap** adalah objek yang meledak saat karakter menyentuhnya.

Jika karakter berada dalam jangkauan ledakan saat meledak, mereka akan dikirim kembali ke Checkpoint terakhir atau SpawnPoint.

- **Fuse Duration**: Waktu (dalam detik) dari saat diaktifkan hingga meledak.
- **Explosion Range**: Area yang terkena dampak ledakan.
- **Show Timer**: Jika dicentang, sisa waktu sebelum ledakan akan ditampilkan di atas objek.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/O-18MDFU1LpXJgoU_niD__group-2471.png)

## Platform Buff

**BuffPanel** akan mengubah kecepatan bergerak dan kekuatan lompat karakter saat diinjak.

Tempatkan objek ini di sekitar peta Anda untuk meningkatkan atau membatasi kemampuan karakter di area tertentu demi menciptakan berbagai efek.

- **Walk Speed**: Kecepatan berjalan karakter saat berada di atas objek.
- **Run Speed**: Kecepatan berlari karakter saat berada di atas objek.
- **Jump Power**: Kekuatan lompat karakter saat berada di atas objek.

:::hint{type="success"}
**✏️ Tips**

- Jika Anda ingin membuat karakter lebih cepat, masukkan angka positif seperti 10 atau 20. Jika Anda ingin memperlambatnya, masukkan angka negatif seperti -3.
- Cobalah menerapkan kecepatan yang berbeda untuk membuat zona misi atau elemen teka-teki (puzzle)!
:::

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/fC7gPycpV4LUMqnIEn16S_group-2472.png)

## Platform Scaling

**ScaleTrap** adalah platform yang berulang kali menyusut dan membesar pada interval waktu yang ditentukan.

Tempatkan platform ini di *jump map* atau jalur yang membutuhkan *timing* akurat untuk menciptakan tingkat kesulitan yang bervariasi.

- **Timeout**: Waktu (dalam detik) objek bertahan di ukuran maksimalnya.
- **Speed**: Seberapa cepat objek membesar dan menyusut.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/Ljp2ymW5ssZd-T481JQPV_group-2473-1.png)

## Platform Pegas

**SpringPlatform** akan secara otomatis melempar karakter ke udara pada interval waktu yang teratur tanpa perlu menekan tombol apa pun.

- **Jump Power**: Gaya yang mementalkan karakter ke atas.
- **Delay Jump Timer**: Jeda waktu antar setiap lompatan (dalam detik).

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/V5VGGBavTodD5Mpit2tSU_group-2474-1.png)

## Platform Berkedip

**BlinkingPlatform** berulang kali muncul dan menghilang dalam interval waktu yang ditentukan.

- **Visible Time**: Waktu (dalam detik) platform tetap terlihat.
- **Invisible Time**: Waktu (dalam detik) platform tetap tersembunyi.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/u9FjZnnStwwAYh7219bhr_image.png)

## Conveyor Belt

Objek **Conveyor** membuat karakter bergerak seolah-olah mereka sedang berdiri di atas sabuk berjalan (conveyor belt) sungguhan.

Saat menginjak Conveyor, karakter akan bergerak maju pada kecepatan yang diatur.

Bergerak searah dengan tanda panah akan meningkatkan kecepatan berjalan atau berlari.

Sebaliknya, bergerak berlawanan arah dengan tanda panah akan mengurangi kecepatan berjalan atau berlari.

- **Conveyor Speed**: Menyesuaikan kecepatan sabuk berjalan.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/Cj3CkUWs-17yEKYDu7V0l_image.png)

## Platform Berputar

**(1) Karakter Berputar Bersamaan**

**RotatingPlatform** adalah platform berputar yang bisa dinaiki karakter.

- **x Speed**: Mengubah kecepatan putaran di sepanjang sumbu x.
- **y Speed**: Mengubah kecepatan putaran di sepanjang sumbu y.
- **z Speed**: Mengubah kecepatan putaran di sepanjang sumbu z.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/pnrBU4TQkPcLBCbmxE_JT_image.png)

**(2) Karakter Tetap Diam, Hanya Objek yang Berputar**

**Rotator** murni merupakan objek visual yang berputar. Karena tidak bisa membawa karakter ikut berputar bersamanya, gunakan objek ini utamanya untuk dekorasi.

- **x Speed**: Mengubah kecepatan putaran di sepanjang sumbu x.
- **y Speed**: Mengubah kecepatan putaran di sepanjang sumbu y.
- **z Speed**: Mengubah kecepatan putaran di sepanjang sumbu z.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ULA7kKiMecYUB_puPCWMx_image.png)

## Platform Jatuh

**FallingPlatform** akan jatuh ke bawah setelah beberapa saat begitu karakter menyentuhnya.

- **Duration**: Waktu (dalam detik) objek tetap di tempatnya setelah disentuh sebelum mulai jatuh.
- **Falling Speed**: Kecepatan jatuhnya objek.
- **Falling Distance**: Seberapa jauh objek tersebut jatuh.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/7znmU_0kgvIchVbae5KOY_image.png)

## Jebakan Mematikan

### (1) Jebakan Dasar

**TrapObj** akan menteleportasi karakter saat bersentuhan.

Objek ini akan mengirim mereka ke CheckpointPlatform yang terakhir kali diaktifkan, atau ke SpawnPoint jika belum ada Checkpoint.

- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/pyAZf8zPqLzKRPp34q-zt_image.png)

### (2) Jebakan Bergerak

**TrapMovingCube** bergerak bolak-balik antara `startPoint` dan `endPoint`, serta menteleportasi karakter yang bersentuhan dengannya.

Objek ini akan mengirim mereka ke CheckpointPlatform yang terakhir kali diaktifkan, atau ke SpawnPoint jika belum ada Checkpoint.

- **startPoint**: Pilih objek `startPoint` di Hierarchy dan pindahkan untuk mengubah lokasi awal jalur.
- **endPoint**: Pilih objek `endPoint` di Hierarchy dan pindahkan untuk mengubah lokasi akhir jalur.
- **Speed**: Ubah kecepatan pergerakannya di jendela Inspector.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/IwCJIOIRZHx4kZOBYZ0ut_image.png)

### (3) Jebakan Bandul (Pendulum)

**TrapPendulum** berayun dari sisi ke sisi layaknya bandul jam.

- **Amplitude**: Tinggi ayunan bandul.
- **Speed**: Kecepatan ayunan bandul.
- **Enable Kill**: Jika dicentang, karakter yang menyentuh bola di bagian bawah akan diteleportasi. Objek ini akan mengirim mereka ke CheckpointPlatform yang terakhir kali diaktifkan, atau ke SpawnPoint jika belum ada Checkpoint.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/K1KKPX_B2wcUJlmgN5XaF_image.png)

### (4) Jebakan Berputar (Horizontal)

**TrapRotatingHorizontal** berputar secara horizontal. Karakter yang menyentuh batang putih akan diteleportasi.

Objek ini akan mengirim mereka ke CheckpointPlatform yang terakhir kali diaktifkan, atau ke SpawnPoint jika belum ada Checkpoint.

- **Rotation Speed**: Kecepatan putaran.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/piVKL9o6Fy-lHAGfA0FXa_image.png)

### (5) Jebakan Berputar (Vertikal)

**TrapRotatingVertical** berputar secara vertikal. Karakter yang menyentuh batang putih akan diteleportasi.

Objek ini akan mengirim mereka ke CheckpointPlatform yang terakhir kali diaktifkan, atau ke SpawnPoint jika belum ada Checkpoint.

- **Rotation Speed**: Kecepatan putaran.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/B46WMGHxH34OtDskfo6oC_image.png)

### (6) Jebakan Duri (Spike Trap)

**SpikeTrap** memunculkan duri pada interval waktu yang ditentukan.

Tempatkan objek ini untuk menambah ketegangan di peta Anda.

- **Spike Active Duration** : Waktu di mana duri tetap menjulur keluar.
- **Spike Cooldown Duration** : Waktu di mana duri tetap tersembunyi ke dalam.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/D-mZzojM12t1IQufTMDcH_image.png)

- **Mengubah Penampilan Objek:** Untuk mengubah lempengan dasar (base plate), hapus objek penampilan yang berada di bawah `Plate` lalu tambahkan objek yang Anda inginkan.
  - Kami sangat menyarankan agar Anda tidak memodifikasi elemen lainnya.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/c4z09GPNbn7_uhFCYkjQY_image.png)

## Checkpoint

**CheckpointPlatform** menetapkan titik *respawn* (tempat muncul kembali) saat disentuh.

Tempatkan platform ini secara strategis di antara *stage* saat Anda membuat *jump map*.

- **Index:** Menentukan urutan pengaktifan CheckpointPlatform.
  - Nilai Index *default*-nya adalah **0**. Harap masukkan angka yang lebih besar dari 0. Memasukkan angka negatif akan membuatnya tidak berfungsi dengan baik.
  - Karakter akan *respawn* di CheckpointPlatform dengan **nilai Index tertinggi** yang pernah mereka kunjungi.
    - Menggunakan Index mencegah pemain dikirim mundur ke Checkpoint level yang lebih rendah jika mereka berjalan balik (backtrack) setelah menyelesaikan level yang lebih tinggi.
  - Sebuah CheckpointPlatform akan **diaktifkan saat karakter mengunjunginya pertama kali**. Jika nilai Index-nya sama, karakter akan *respawn* di **CheckpointPlatform yang paling baru diaktifkan**.
    - Contoh) Jika karakter mengunjungi *checkpoint* dengan urutan 1 -> 2 -> 3 -> 2, mereka akan *respawn* di *checkpoint* 3 (*checkpoint* baru yang paling terakhir diaktifkan), bukan di *checkpoint* 2 yang baru saja dikunjungi kembali.
- **Mengubah Penampilan Objek:** Hapus *child object* `Model` yang mengatur penampilan, lalu tempatkan objek lain dari peta di posisi yang sama untuk mengubah tampilannya. Jika Anda mengubah penampilannya, pastikan Anda menyesuaikan ukuran dan posisi Collider di jendela Inspector agar cocok dengan bentuk yang baru.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/kBcUImzMiT-GCxJT6262I_image.png)

# 5. Menggunakan Tema Squid

:::BlockQuote
📌 **Klik objek yang ingin Anda pelajari di bawah ini!**
:::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
[Objek Yonghee](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Fitur Voting](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::

:::VerticalSplitItem
[Timer Hitung Mundur](docId\:Z5ccf3mv7DwJTYIa_U5k7)

[Platform Kaca Pecah](docId\:Z5ccf3mv7DwJTYIa_U5k7)
:::
::::

## Objek Yonghee

Objek **yonghee** memungkinkan Anda memainkan *mini-game* sederhana hanya dengan menempatkannya di dunia Anda.

- Cara Kerja Dasar
  - Objek ini akan otomatis beroperasi saat Anda menekan tombol Play.
  - Jika Anda bergerak saat karakter Yonghee sedang menatap ke arah Anda, laser akan menyala dan Anda akan terjatuh. (Ini hanya memicu animasi jatuh saja).
  - Berapa lama karakter Yonghee menengok ke belakang dapat diatur di Inspector.
- **Min Counting Time**: Waktu minimum Yonghee menengok ke belakang.
- **Max Counting Time**: Waktu maksimum Yonghee menengok ke belakang.
- **Paused**: Mengaktifkan/menonaktifkan gerakannya. Jika Anda hanya ingin menggunakannya sebagai objek dekorasi tanpa fungsi apa pun, setel Paused ke ON sebelum menempatkannya.

![](https://api.archbee.com/api/optimize/DG7AL2Zd4MVK-IODE4H3u-v2ozUjcZPA8lj2IDzOrXu-20241226-051654.png)

## Fitur Voting

Objek **voting** akan menghitung jumlah orang yang berdiri di area O dan X.

Cukup tempatkan di atas tanah; objek ini akan langsung berfungsi tanpa memerlukan pengaturan tambahan.

- Area Collider dari lantai O dan X adalah lokasi penghitungan dilakukan. Anda dapat mengubah ukurannya untuk menyesuaikan zona deteksinya.

![](https://api.archbee.com/api/optimize/DG7AL2Zd4MVK-IODE4H3u-KVXOtjdTzjSP4D7E4_iSE-20241226-052157.png)

## Timer Hitung Mundur

**timedisplay** menyediakan layar tampilan hitung mundur.

Pengaturan *default*-nya adalah hitung mundur selama 5 menit.

Anda dapat menyesuaikan waktu hitung mundur dengan bebas di Inspector.

- **MaxValue**: Waktu mulai hitung mundur (dalam detik).
- **MinValue**: Waktu selesai hitung mundur (dalam detik).
- **Interval**: Interval waktu penurunan (dalam detik).

![](https://api.archbee.com/api/optimize/DG7AL2Zd4MVK-IODE4H3u-qLIvLUD00KwfLvV_contG-20241226-052613.png)

## Platform Kaca Pecah

**breakable\_glass** adalah platform yang menghilang saat diinjak atau disentuh.

Gunakan objek ini sebagai rintangan dalam *jump map*.

- **Is Breakable**: Menyalakan/mematikan fungsi pecah (menghilang). Atribut di bawah ini hanya akan berfungsi saat opsi ini diatur ke ON.
- **Auto Reset Delay**: Setelah disentuh, platform ini akan otomatis muncul kembali (*respawn*) setelah waktu yang diatur dalam **Auto Reset Delay** berlalu.
- **Has Auto Reset**: Jika Anda tidak ingin platform ini muncul kembali, atur **Has Auto Reset** menjadi OFF.

![](https://api.archbee.com/api/optimize/DG7AL2Zd4MVK-IODE4H3u-jRGPJ5Yb-LDn6fPfPbX3N-20241226-053025.png)

