Nested Prefabs
Overrides pada beberapa tingkat

Prefab Variants

Varian Prefab berguna ketika Anda ingin memiliki satu set variasi yang ditentukan dari PrefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
Lihat di Glossary
.

Misalnya, Anda mungkin ingin memiliki beberapa jenis GermSlimeTarget dalam permainan Anda, yang semuanya didasarkan pada dasar yang sama GermSlimeTarget Prefab. Namun Anda mungkin ingin beberapa GermSlimeTarget untuk membawa item, beberapa untuk bergerak pada kecepatan yang berbeda, atau beberapa untuk memancarkan efek suara tambahan.

Untuk melakukan ini, Anda dapat mengatur Prefab GermSlimeTarget awal Anda untuk melakukan semua tindakan dasar yang Anda inginkan semua GermSlimeTarget untuk berbagi, maka Anda dapat membuat beberapa Varian Prefab untuk:

  • Membuat GermSlimeTarget bergerak lebih cepat dengan menggunakan override properti pada skrip untuk mengubah kecepatannya.

  • Membuat GermSlimeTarget membawa item dengan melampirkan tambahan GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
    Lihat di Glossary
    ke lengannya.

  • Memberikan GermSlimeTarget sebuah squelch siput dengan menambahkan komponen AudioSource yang memainkan suara squelching.

Variant Prefab mengawari sifat Prefab lain, disebut dasar. Overrides dibuat untuk Variant Prefab mengambil preseden atas nilai-nilai Prefab dasar. Variant Prefab dapat memiliki Prefab lain sebagai dasarnya, termasuk Model Prefabs atau Varian Prefab lainnya.

Membuat Variant Prefab

Ada beberapa cara untuk membuat Variant Prefab berdasarkan Prefab lain.

Anda dapat right-click pada Prefab dalam tampilan Proyek dan pilih Create > Prefab Variant. Ini menciptakan varian dari Prefab yang dipilih, yang awalnya tidak memiliki override. Anda dapat membuka Variant Prefab dalam Mode Prefab untuk mulai menambahkan overrides ke dalamnya.

Anda juga dapat drag instance Prefab dalam Hierarchy ke dalam Project windowJendela yang menunjukkan isi folder Assets (Project tab) More info
Lihat di Glossary
. Ketika Anda melakukan ini, dialog meminta jika Anda ingin membuat Prefab Asli baru atau Variant Prefab. Jika Anda memilih Variant Prefab Anda mendapatkan Variant Prefab baru berdasarkan instance Prefab yang Anda seret. Setiap overrides yang Anda miliki pada contoh itu sekarang di dalam Variant Prefab baru. Anda dapat membukanya dalam Mode Prefab untuk menambahkan override tambahan atau mengedit atau menghapus overrides.

Varian Prefab ditunjukkan dengan ikon Prefab biru yang dihiasi dengan panah.

A basic GermSlimeTarget Prefab, and a variant of that Prefab called GermSlimeTarget With GermOBlaster, as viewed in the Hierarchy window.
A dasar GermSlimeTarget Prefab, dan varian yang disebut "GermSlimeTarget Dengan GermOBlaster", seperti yang dilihat di jendela Hierarchy.

Mengedit Variant Prefab

Ketika Variant Prefab dibuka dalam Mode Prefab, akar muncul sebagai instance Prefab dengan ikon Prefab biru. Contoh Prefab ini mewakili Prefab dasar bahwa warisan Variant Prefab dari; itu tidak mewakili Variant Prefab itu sendiri. Setiap edit yang Anda buat untuk Variant Prefab menjadi overrides ke dasar ini yang ada di Variant.

The Prefab Variant GermSlimeTarget With GermOBlaster in Prefab Mode. The “GermOBlaster” Prefab is added as an override to the base Prefab
Variant Prefab “GermSlimeTarget Dengan GermOBlaster” dalam Mode Prefab. Prefab "GermOBlaster" ditambahkan sebagai override ke dasar Prefab

Dalam tangkapan layar di atas, jika Anda memilih akar GermSlimeTarget With GermOBlaster GameObject dan klik tombol Select di InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
, itu akan memilih dasar Prefab GermSlimeTarget dan bukan Variant GermSlimeTarget With GermOBlaster karena instance Prefab adalah contoh dasar Prefab GermSlimeTarget dan tombol Select selalu memilih Aset Prefab yang terjadi.

Seperti halnya instance Prefab, Anda dapat menggunakan override prefab dalam Variant Prefab, seperti nilai properti yang dimodifikasi, komponen yang ditambahkan, komponen yang dihapus, dan menambahkan GameObjects anak. Ada juga batasan yang sama: Anda tidak dapat menulis kembali GameObjects dalam Variant Prefab yang berasal dari Prefab dasarnya. Anda juga tidak dapat menghapus GameObject dari Variant yang ada di dasar Prefab. Namun, Anda dapat menonaktifkan GameObjects (sebagai override properti) untuk mencapai efek yang sama seperti menghapus GameObject.

Note: Ketika mengedit Variant Prefab dalam Mode Prefab, Anda harus memahami bahwa menerapkan overrides ini (melalui jendela drop-down Overrides atau menu konteks) akan menyebabkan variasi varian Anda diterapkan pada Aset Prefab dasar. Ini sering not apa yang Anda inginkan. Titik dari Variant Prefab adalah untuk memberikan cara yang mudah untuk menyimpan koleksi override yang berarti dan dapat digunakan kembali, itulah sebabnya mereka biasanya harus tetap sebagai overrides dan tidak terapan ke Aset Prefab dasar. Untuk menggambarkan titik ini, jika Anda untuk menerapkan tambahan GermOBlaster GameObject ke Aset Prefab dasar (The “GermSlimeTarget”), maka Aset Prefab juga akan memiliki GermOBlaster. Seluruh titik varian GermSlimeTarget With GermOBlaster adalah bahwa hanya variasi ini membawa GermOBlaster, sehingga ditambahkan GermOBlaster GameObject harus ditinggalkan sebagai override di dalam Variant Prefab.

Ketika Anda membuka jendela Overrides drop-down, Anda selalu dapat melihat di header yang objek overrides adalah, dan di mana konteks overrides ada. Untuk Variant Prefab, header akan mengatakan bahwa overrides adalah untuk dasar Prefab dan ada di Variant Prefab. Untuk membuatnya lebih jelas, tombol Apply All juga mengatakan Apply All to Base.

Overrides dropdown for a Prefab Variant when editing the Prefab Variant in Prefab Mode
Overrides dropdown untuk Variant Prefab ketika mengedit Variant Prefab dalam Mode Prefab

  • 2018–07–31 Sitemap

  • Bersarang Prefab dan Varian Prefab ditambahkan pada 2018.3

Nested Prefabs
Overrides pada beberapa tingkat