Saya memiliki empat elemen Canvas berbeda dalam adegan Unity saya. Ini mengaturnya berdasarkan perhatian, tetapi juga meningkatkan kinerja karena saya tidak perlu membangun kembali semua elemen jika saya mengotori salah satunya. Saya ingin membuat prefab dari masing-masing prefab sehingga saya dapat menggunakannya kembali di seluruh game, dan juga agar elemen dalam file adegan saya lebih sedikit (saya belum mengetahui mengapa Unity tidak mengatur ulang YAML agar sesuai dengan urutan dan hierarki adegan. . Saat ini saya tidak dapat melihat alasannya dan itu membuat kontrol sumber menjadi sangat merepotkan).
Jadi, pertanyaan saya: Haruskah saya memasukkan Canvas sebagai GameObject induk di cetakan, atau haruskah saya menjadikan anak pertama sebagai cetakan (lihat gambar)? Saya melihat dua perspektif:
- Di satu sisi, menyenangkan untuk memindai daftar elemen di akar adegan dan melihat objek biru dan mengetahui bahwa objek tersebut secara otomatis direplikasi di seluruh adegan. Ditambah lagi, semakin banyak objek yang disimpan di prefab maka semakin sedikit pula yang mencemari file YAML saya.
- Di sisi lain, dengan skrip Canvas Scalar pada induknya, ukuran di dalam prefab akan diperbarui setiap kali saya mengubah resolusi/platform dan saya membaca bahwa tidak baik selalu memperbaruinya di luar mode prefab. Masalah lainnya adalah fakta bahwa elemen UI biasanya memiliki banyak referensi eksternal untuk memperbarui teks dan sebagainya.