top of page

Shader'larımızın yapıdan kaybolduğu gün

Yazarın fotoğrafı: Marcel Dütscher
Marcel Dütscher
27 Haz
1 dakikada okunur

Unity editöründe her şey mükemmel görünüyordu. Bitmiş yapıda ise pembe yüzeyler ve eksik efektler vardı. Unity'nin en sinsi tuzaklarından birine ve birkaç akrabasına hoş geldin.


Shader stripping. Yapı alırken Unity görünüşte gerekmeyen her şeyi atar; shader'lar da dahil. Sorun şu: shader'ları çalışma anında Shader.Find() ile yüklüyorsan (su, atmosfer, hologramlar ve daha fazlası için 20'den fazla özel shader'ımızda yaptığımız gibi), Unity hiçbir sahnede onlara bir referans görmez. Sonuç: shader editörde var, yapıda yok. Çözüm gösterişsiz ama şart: bu shader'ların her biri grafik ayarlarındaki Always Included Shaders listesine girmeli. O zamandan beri bizde kural şu: yeni shader mı? Hemen ekle.


-1 olan katman. Benzer kategori: bir fizik katmanını kodda adıyla çözdük. Editörde çalışıyor. Yapı sunucusundaki toplu yapıda ise katman yok, arama -1 döndürüyor ve o katmana dayanan her şey sessizce yanlış davranıyor. O zamandan beri katmanlara adıyla değil, sabit dizinleriyle başvuruyoruz.


Ahlaki ders: Unity editörü ve bitmiş yapı iki ayrı dünya. Editör merhametli; tüm varlıklar, tüm adlar, tüm shader'lar elinin altında. Yapı ise acımasız. Bu yüzden bizde istemcide yapılan her değişiklik, editördeki Play düğmesiyle değil, gerçek bir yerel yapı testiyle gelir. Daha uzun sürüyor. Yine de bizi birçok utanç verici sürümden kurtardı.

Son Yazılar

Hepsini Gör
Yeni sürüm neden 2026.7.19 ve neden 0.9.2 değil 🗓️

Bugün güncelleyen herkes 0.9.1 sürümünden 2026.7.19 sürümüne atlıyor. Yazım hatası gibi görünüyor ama bilinçli bir karar: sürümleme düzenimizi “anlamsal” sürümlerden tarih tabanlı sürümlere (yıl.ay.sa

 
 

Yorumlar


Bu gönderiye yorum yapmak artık mümkün değil. Daha fazla bilgi için site sahibiyle iletişime geçin.
bottom of page