LOD, frustum culling ve occlusion culling nedir?
Cevap
Üçü de çizilmesi gerekmeyeni çizmemek veya daha ucuz çizmek için kullanılan tekniklerdir.
Frustum culling
Kameranın görüş hacmi (frustum: near/far düzlemleri ve dört yan düzlemle sınırlı kesik piramit) dışında kalan nesneler çizilmez. Genellikle nesnelerin bounding box'ı frustum düzlemleriyle test edilir. Unity bunu otomatik yapar.
Occlusion culling
Kamera görüş alanında olsa bile başka nesnelerin arkasında kalan (ör. duvarın arkasındaki oda) nesneler çizilmez. Unity'de görünürlük verisi editörde önceden hesaplanır (bake); statik nesneler occluder/occludee olarak işaretlenir. Şehir, iç mekân gibi kapalı sahnelerde büyük kazanç sağlar, açık arazide faydası azdır. Bake verisi bellek ve CPU maliyeti getirir.
LOD (Level of Detail)
Nesne kameradan uzaklaştıkça daha düşük poligonlu modeller kullanılır. Unity'de LOD Group bileşeni ekranda kapladığı alana göre geçiş yapar:
| Seviye | Ekran oranı | Örnek üçgen sayısı |
|---|---|---|
| LOD0 | %60 üstü | 20.000 |
| LOD1 | %30 - %60 | 8.000 |
| LOD2 | %10 - %30 | 2.000 |
| Culled | %10 altı | Çizilmez |
- Geçişlerde "pop" efekti olmaması için cross-fade veya dithering kullanılır.
- Çok uzaktaki nesneler için impostor/billboard (düz bir kartta ön render'lanmış görüntü) kullanılabilir.
Ek olarak kameranın far clip plane değerini gereksiz büyük tutmamak ve sis ile uzak mesafeyi gizlemek de yaygın pratiktir.
İlgili Grafik & Render soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.