Hanya membuat satu scene dengan banyak node di dalamnya memungkinkan untuk sebuah project kecil, tetapi sejalan dengan berkembang serta semakin kompleksnya project yang Anda kerjakan, terlalu banyak node dalam satu scene akan semakin membuat project Anda susah untuk dikelola. Untuk mengatasi masalah ini, Godot memungkinkan Kita untuk membuat sebanyak mungkin scene ke dalam satu project. Hal ini dapat sangat membantu Anda mengorganisasi komponen-komponen yang dibutuhkan dalam game Anda.
Dalam postingan sebelumnya
Scenes dan Nodes Anda telah mempelajari bahwa scene adalah gabungan dari kumpulan beberapa node dalam bentuk
tree (pohon biner), dengan satu node utama.
|
Tree |
Anda bisa membuat sebanyak mungkin scene sesuai dengan yang Anda inginkan dan menyimpan mereka menjadi sebuah file. File tersebut biasa disebut
"Packed Scenes" (Paket Scene) dan memiliki ekstensi file
.tscn.
|
Pre-instancing |
Saat sebuah scene telah menjadi sebuah file, file tersebut bisa di-instanced ke scene lain selayaknya sebuah node (bisa dibilang sebuah file scene adalah node baru yang Anda buat sendiri).
|
Instancing |
Dalam gambar di atas, Scene B ditambahkan ke Scene A sebagai instance.
Contoh Instancing
Untuk mempelajari bagaimana cara kerja
instancing, mari Kita mulai dengan mengunduh project sederhana berikut:
⏬instancing.zip.
Ekstrak project tersebut ke dalam direktori manapun. Lalu buka aplikasi Godot dan tambahkan project baru melalui tombol
import.
|
Godot Project Manager |
Akan terbuka panel dialog untuk memilih folder data project, arahkan ke dalam folder yang sudah Anda ekstrak sebelumnya. Lalu pilih "project.godot" yang ada di dalam folder tersebut, selanjutnya tekan Open dan tekan Import & Edit.
Project ini memiliki dua scene: "Ball.tscn" dan "Main.tscn". Ball scene menggunakan RigidBody2D untuk mengaplikasikan physics behavior (perilaku fisika) dalam sebuah bola sedangkan main scene memiliki obstacles (rintangan) yang dibuat dengan menggunakan node StaticBody2D.
|
Ball.tscn |
|
Main.tscn |
Buka Main.tscn (Main scene), lalu kemudian pilih root node -nya (node utama).
|
Pilih root node pada main scene |
Kita akan tambahkan scene Ball sebagai instance child node untuk Main node. Klik tombol yang berbentuk seperti simbol link (akan muncul keterangan bertuliskan "Instance a scene file as Node.") dan pilih file Ball.tscn.
|
Tombol instance |
Akan muncul objek bola yang terdapat di scene Ball kedalam Main scene. Bola tersebut secara otomatis berada di pojok kiri atas viewport (merupakan posisi default saat pertama kali sebuah node/instance scene dibuat yaitu kordinat (0,0)). Klik dan drag bola tersebut di suatu tempat dekat bagian tengah atas dari scene. Semacam gambar dibawah ini.
|
Atur posisi bola |
Tekan Play dan lihatlah bola akan terjatuh ke arah bawah layar.
|
Tombol play |
Multiple Instances (melakukan Instance lebih dari satu)
Anda bisa melakukan
instance sebanyak mungkin lebih dari satu sesuai keinginan, entah dengan menggunakan tombol instance, atau dengan klik kanan di bagian node bola lalu pilih "Duplicate", atau hanya dengan menekan Ctrl+D (Cmd+D jika menggunakan Mac).
|
Memperbanyak instance |
Jalankan sekali lagi dan semua bola akan jatuh, seperti gambar dibawah ini.
|
Multiple Instance |
Melakukan Edit Pada Instance
Buka scene Ball dan rubah properti Bounce di inspector menjadi 1. Tekan Play dan perhatikan semua bola yang di instance sebelumnya akan menjadi lebih membal (bouncy). Karena bola-bola yang di-instance sebelumnya adalah merupakan satu file scene, meruba properti di scene tersebut akan berakibat ke semua node instance-annya.
Apabila Anda ingin merubah properti secara individual, maka lakukan perubahan di dalam scene
Main, sebelumnya coba kembalikan properti Bounce di scene Ball menjadi 0.5. Lalu kembali ke main scene, pilih satu bola dan rubah Bounce nya menjadi 1 dan tekan play.
|
Inspector properties |
Perhatikan di bagian sebelah kanan akan muncul tombol "revert" (simbol tanda panah melingkar), ketika tombol ini muncul, berarti Anda telah merubah nilai properti yang akan menggantikan nilai dari file scene sumbernya. Saat seperti ini, meskipun properti scene sumbernya dirubah, nilai yang ada di scene (tempat Anda melakukan perubahan sebelumnya) akan tetap, kecuali Anda menekan tombol revert yang berarti mengembalikan nilai properti sesuai dengan scene sumbernya.
Konklusi
Instancing merupakan metode yang sangat berguna ketika Anda ingin membuat duplikat dari suatu objek (instanced scene/node).
Source: http://docs.godotengine.org/en/3.0/getting_started/step_by_step/instancing.html
0 komentar:
Posting Komentar