Unity Z Fighting Sorunu


Herkese merhaba arkadaşlar bugün sizlere Z Fighting dediğimiz bir sorundan bahsedeceğim. Bu sorunu çoğunuzun yaşadığını biliyorum. Fakat siz de benim gibi bu sorunu nasıl tanımlayacağınızı bilmediğiniz için çözüm arama konusunda sıkıntı çekmiş olabilirsiniz. Öncelikle Z Fighting nedir bundan biraz bahsedelim.

Z-Fighting en kabaca ifadesiyle bilgisayar ortamında üretilen grafik uygulamalarında birden fazla poligonun aynı z buffer değerine sahip olması sebebiyle grafik işlemcisinin hangisini önce renderleyeceği konusunda kararsız bir duruma düşmesidir.

Bu sorunun yaptığım araştırmalar neticesinde 0,0,0 noktasına uzaklaştıkça arttığını öğrendim. Fakat henüz bunu deneyimlemediğim için doğruluğu konusunda yorum yapamam. Ama şunu söyleyebilirim ki bu sorun sadece biz bağımsız geliştiricilerin karşılaştığı bir sorun değil. Devasa yatırımlarla yapılmış GTA,Skyrim gibi oyunlarda da bu sorun görülmektedir. Oyun motoru geliştiricileri bu sorun üzerine çeşitli algoritmalar geliştirmektedir. Fakat henüz bu sorunu ortadan kaldıran bir çözüm bulunamadı.


Bu yazımda bu sorunu optimal düzeyde çözen bir işlemden bahsetmek istiyorum. Bu işlem son derece basit. Sahnemizdeki kamera nesnesinin componenti üzerinde yapacağımız ufak bir değişiklik ile bu sorunun büyük ölçüde önüne geçebiliyoruz. Evet gelelim çözüme.


Görselde görüleceği üzere Near değerini olabildiğince YÜKSEK, Far değerini olabildiğince DÜŞÜK tutarsak bu sorunu büyük bir ölçüde önleriz.

Umarım yazım faydalı olmuştur. Bir başka yazıda görüşmek üzere.

Yorumlar