Smart Replace adalah plug-in Unity yang membantu Anda mengembalikan tautan prefab yang rusak. Selain itu, ia juga dapat menggantikan prefab dalam adegan dengan prefab serupa yang berisi skrip yang sama tanpa kehilangan perubahan atau referensi objek.
Untuk menggunakan plugin, versi .NET Corrent harus ditetapkan untuk proyek Anda. Kalau tidak, itu tidak akan dikompilasi . Anda dapat mengubah versi .net via: File -> Build settings -> Other settings -> Configuration -> Scripting Runtime Version -> .NET 4.x Equivalent
Setelah mengunduh dan menginstal paket Anda dapat membuka jendela Smart Replace dengan menavigasi ke Tools -> Replace prefab...
Contoh -contoh berikut akan menunjukkan kasus penggunaan utama plugin. Ada juga video di YouTube yang menjelaskan plugin lebih jelas.

Untuk restore a prefab link dari objek adegan, pertama -tama seret objek adegan ke bidang jendela yang sesuai. Selanjutnya temukan prefab asli di jendela Proyek Unity dan jatuhkan di bidang fresh prefab .
Di bawah Transfer component values Anda dapat memilih semua komponen yang mungkin memiliki perubahan yang ingin Anda lestarikan. Pengaturan komponen Unity saat ini tidak didukung, dengan pengecualian nilai transform .
Setelah pengaturan ini dibuat, Anda dapat menekan Replace dan tautan prefab akan dipulihkan tanpa kehilangan perubahan yang Anda buat ke objek Anda di tempat kejadian.
Seringkali dalam pengembangan game, prefab dummy dibuat untuk menguji fungsionalitas tertentu dari elememt game. Pada tahap selanjutnya dari pengembangan game, versi yang lebih baik dari tombol ini akan dibuat - dengan model yang lebih cantik, tekstur, shader, dan sebagainya.
Jadi, jika Anda memiliki level dengan hanya prefab boneka, tetapi Anda ingin mengganti semuanya dengan versi baru yang lebih baik, Smart.Replace dapat membantu Anda.
Contoh gambar di bawah ini menunjukkan adegan dengan tombol dan pintu. Tombol memiliki skrip yang disebut Button Click yang berisi referensi ke objek pintu, sehingga dapat membuka atau menutup pintu saat diklik.

Ada juga prefab tombol lain, seperti yang dapat Anda lihat di tampilan proyek, disebut Button 1 . Ini terlihat sedikit berbeda, tetapi juga berisi komponen ButtonClick dan karenanya dapat digunakan seperti tombol kami saat ini. Ini adalah kandidat yang baik untuk penggantian, jadi kami pertama -tama menjatuhkan objek adegan kami ke dalam jendela Smart.replace, lalu prefab tombol yang lebih baik, pastikan bahwa referensi pintu akan dipertahankan setelah diganti dan kemudian kami menekan replace .

Tombol telah berhasil diganti dan masih memiliki referensi ke pintu, jadi masih berfungsi!
Sama seperti ini, semua pengaturan semua komponen dapat dipertahankan selama penggantian, seperti nilai integer , colors , strings , dan sebagainya.
Fresh prefab tidak perlu memiliki hierarki objek yang sama dengan scene object karena pintar.
Bagaimana kalau kita mengganti pintu sekarang? Ini tampaknya agak rumit, karena pintu tidak sekarang dirujuk oleh tombol. Namun, smart.replace tidak, ketika Anda mengaktifkan opsi Transfer external references .
Prosesnya sama lagi. Kami pertama -tama memilih objek adegan dan kemudian prefab. Sekali lagi kami menekan ganti dan pintu akan diganti dengan prefab lain. Pada saat yang sama, referensi tombol ke pintu akan diperbarui.
Smart.replace akan mencari object eksternal dan referensi component ke objek yang sedang diganti. Ini bahkan akan mencatat lists dan arrays untuk kemungkinan referensi dan akan memperbaruinya seperti yang dijelaskan.
Jika Anda memiliki Mutiple objek serupa dalam adegan yang ingin Anda ganti, akan membosankan untuk melakukannya satu per satu.
Smart.replace menawarkan pencarian untuk objek yang serupa, sehingga kami dapat mengganti sejumlah objek sekaligus. Pertama -tama kita memilih salah satu objek dalam adegan dan kemudian prefab - sehingga kita dapat mencari objek serupa. Secara default tidak ada filter, jadi semua objek dalam adegan ditampilkan. Cari dengan nama sangat efisien dalam kasus di mana semua objek memiliki nama yang sama. Anda juga bisa mencari komponen.
Jika kita sekarang menekan Ganti, kita melihat bahwa semua objek diganti sekaligus. Jika mereka memiliki referensi satu sama lain, mereka juga akan dilestarikan.
Untuk membuat plug-in mudah digunakan, ia memiliki beberapa batasan yang harus Anda ketahui:
component intersection menunjukkan komponen persatuan demi kelengkapan, nilainya saat ini tidak dapat dipertahankan. Satu -satunya pengecualian adalah komponen transform yang memiliki UI sendiri (lihat di bawah).one component type per object . Jika Anda memiliki beberapa komponen dengan jenis yang sama pada objek adegan Anda, hanya nilai yang pertama yang akan dipertahankan. Sisanya akan dibuang.object yang diganti akan dipertahankan. Namun, referensi objek eksternal akan selalu menunjuk ke objek parent setelah penggantian. Anda dapat menghubungi saya kapan saja di [email protected].