Unity‘nin UI sisteminde gradient renkli grafikler oluşturmak için (herhangi bir Texture kullanmadan) yazdığım ufak bir script’i paylaşacağım. Ancak 4 köşesi farklı renkli gradient’lerde script her zaman çok iyi sonuç vermiyor bilginiz olsun:
Üstteki animasyonda gif compression’ından dolayı ufak bir grafik hatası var.
Bazen Unity‘nin UI sisteminde, her çözünürlükte keskin kenarlara sahip daireler göstermek isteyebilirsiniz. Bunun için çok yüksek çözünürlüklü bir daire sprite’ı veya özel shader’lar kullanabilirsiniz. Alternatif olarak, şimdi paylaşacağım script’i kullanabilirsiniz:
Birkaç gün boyunca, Unity için çerez kıvamında çok kısa dersler paylaşacağım. Bu ilk derste, Project panelindeki açık olan (solundaki ok genişletilmiş olan) tüm klasörleri otomatik olarak kapatmaya yarayan editör script’imi paylaşacağım.
Özellikle büyük projelerde, Project panelinde çok fazla klasör açık iken istediğim klasörü bulmak çok vaktimi alabiliyor. Bu durumda, yazdığım script ile tüm klasörleri kapatarak dosya kalabalığına son veriyor ve istediğim klasörü daha hızlı bir şekilde bulabiliyorum:
Ardından Project veya Hierarchy panellerinde herhangi bir yere sağ tıklayıp Collapse All demeniz yeterli. İsterseniz Inspector‘da herhangi bir component’e sağ tıklayıp Collapse All diyerek de tüm Component’leri simge durumuna küçültebilirsiniz.
EKSTRA: Project panelinde tek bir klasörün içindeki tüm açık klasörleri kapatmak istiyorsanız, Alt tuşuna basılı tutarken klasörün solundaki oka tıklayabilirsiniz.
Unity‘de bazen bir Texture‘un hangi materyallerde kullanıldığını veya sahnedeki bir objenin hangi public değişkenlere değer olarak verildiğini bulmak isteyebilirsiniz. Bu gibi durumlar için çok eskiden yazdığım ama sürekli güncel tuttuğum bir plugin’i paylaşacağım: Asset Usage Detector.
Daha önce Unity projenize gerek Asset Store‘dan gerekse başka bir yerden büyükçe bir shader paketi eklediyseniz, oyunun hem build alma süresinin hem de boyutunun ciddi anlamda arttığına şahit olmuş olabilirsiniz. Ben bu duruma Toony Color Pro 2 asset’ini projeme eklediğimde denk geldim: beraberinde gelen shader, Unity’nin tüm scriptable render pipeline‘larını destekliyordu: LWRP/URP, HDRP ve varsayılan olarak gelen built-in. Ben LWRP/URP veya HDRP kullanmadığım halde shader bu render pipeline’lar için de build alınıyordu ve build boyutu 50 MB artıyor (iOS), build süresi de 1 saat uzuyordu (build alınan shader’lar cache’lendiği için sonraki build’lerde bu süre tabi ki çok daha kısa oluyor).
Bu editör script’i, shader’larımdaki kullanmadığım özellikleri kapatıyor ve shader’ların boş yere LWRP/URP ve HDRP için build alınmasının önüne geçiyor (bu işleme shader stripping deniyor). Bu şekilde build sürem birkaç dakikaya indi ve build boyutu ise shader’ın farkına varılmayacak düzeylere düştü.
Daha fazla bilgi için yazının devamını okuyabilirsiniz…
Zaman zaman, Unity içerisinde oyununuzdan hızlıca bir screenshot alma ihtiyacı duyabilirsiniz. Veya oyununuzun Google Play/App Store sayfası için farklı çözünürlüklerde birden çok screenshot almanız gerekebilir. Bu gibi durumlar için bir editör arayüzü yazdım ve bu derste de bu arayüzü paylaşacağım.
Bu kısa derste, Unity 3D için ücretsiz Remote Inspector asset’ini tanıtacağım. Bu asset sayesinde, build aldığınız bir oyunu cihazda test ederken, oyunun Inspector ve Hierarchy‘sine Unity editöründen erişip anlık değişiklikler yapabilirsiniz. Örneğin sahnedeki objeleri kapatıp açabilir veya istediğiniz bir component’in değişkenlerine müdahale edebilirsiniz. Oyununuzu debug ederken veya performansı etkileyen objeleri deneme-yanılma yoluyla bulurken bu asset işinize yarayabilir.
Dilerseniz AdMob ile Unity Ads’i beraber kullanabilirsiniz. Eğer ilgileniyorsanız, AdMob dersimdeki mediation kısmına bakabilirsiniz. Bu durumda bu derse bakmanıza gerek yok.