Berikut adalah dokumentasi Persatuan yang sesuai .
Menurut penjelasan dari halaman dokumentasi Unity tentang Static GameObjects, kadang-kadang menandai GameObjects sebagai statis dapat mempengaruhi kinerja dengan cara yang buruk (misalnya Static Batching menyebabkan lebih banyak penggunaan memori) .
Jadi kapan saya harus benar-benar ingin menggunakan fungsi-fungsi ini?
Terima kasih sebelumnya.
Catatan Kaki:
Saat ini saya sedang mengembangkan game top-down 2D yang memiliki banyak Sprite dan LineRenderers, tetapi tidak ada objek 3D (bahkan bukan quad). Semua GameObjects sedang dipakai secara prosedural dari prefab premade. LineRenderers diperbarui dari skrip setiap frame. Dan hampir semua Sprite bergerak konstan. Mayoritas Sprite berbagi materi yang sama. Semua LineRenderers juga berbagi materi yang sama.
sumber
Jawaban:
Tidak ada aturan keras tentang kapan Anda harus atau tidak membuat GameObjects statis.
Paling tidak, hanya lakukan untuk objek yang tidak akan pernah bergerak seumur hidup mereka. Tetapi Anda harus tahu apa fungsinya untuk mengevaluasi apakah Anda seharusnya atau tidak.
Ini membekukan jala ke dalam data adegan, sehingga Anda tidak memiliki overhead GameObject untuk item tersebut. Ini berarti peningkatan kinerja dengan biaya mengubah data adegan pada waktu pembuatan dan biaya memori tambahan untuk aplikasi akhir yang dibangun.
Ini bagus dalam banyak kasus, meskipun dapat menimbulkan masalah, misalnya dengan hutan. Juga, itu berarti bahwa alih-alih menyimpan verts untuk pohon sekali dan GPU menggambar salinan, ia harus menduplikasi verts itu di semua tempat. Itu membutuhkan waktu selama pembuatan, dan ruang di aplikasi. Aplikasi kami beralih dari 3-4 GB menjadi 300-400 MB saat kami membuat pohon tidak statis. Waktu build berubah dari 3-4 jam menjadi 1 jam.
Setelah mengatakan semua itu! Game Anda adalah 2d, dan mungkin akan mendapat manfaat dari menyetel GameObjects dalam adegan menjadi statis, asalkan Anda tidak memiliki banyak dari mereka.
sumber
Jika saya katakan secara umum maka Segala sesuatu yang tidak akan pernah bergerak (bahkan pixel) dalam seluruh kehidupan aplikasi harus ditandai sebagai statis. Biasanya berguna untuk memanggang lampu, memanggang jalur navmesh, dan sebagainya ..
Nah, jika Anda berkembang tanpa benda 3D maka santai saja dan dinginkan. Tidak perlu khawatir tentang rendering realtime, bayangan atau masalah lainnya. Bahkan menghapus satu-satunya cahaya datang dengan pemandangan baru;)
Nah, siapa pun dapat memperbaiki saya jika saya salah di tempat mana pun.
sumber