Kafayı yiyecektim arkadaşlar. Unity'de oyunum için havalı bir sihirli darbe efekti yapmam gerekiyordu. Particle System'in başına oturdum, saatlerce uğraştım. Renkler, hızlar, boyutlar, ömürler... Her şeyi ayarladım. "Bu sefer olacak" dedim, Play'e bastım.
Büyük Hayal, Küçük Duman
Ekranda beklediğim, rengarenk, enerji dolu, patlayan bir parçacık şöleni değil de, tekdüze, soluk gri, yavaşça yükselen bir duman bulutu gördüm. Sanki karakterim sihir yapmıyor da, usulca bir sigara yakmıştı. Meğerse sorun şuradaymış: Start Color ayarını yanlışlıkla sabit gri yapmışım ve Emission modülündeki Rate over Time değeri de komik derecede düşükmüş. Yani saniyede 2-3 tane gri parçacık doğuruyor sistem. Tabii duman oluyor!
Çözüm Sandığım Her Şey Denendi
Önce texture'ı değiştirdim, olmadı. Shader'la oynadım, fark etmedi. Gravity Modifier'ı kapattım, duman yine duman. StackOverflow'da bile "particle only smoke" diye arattım, sonuç yok. En son, saatler sonra, gözüm Inspector penceresindeki o küçücük Color kutusuna takıldı. "Ya bu mu?" dedim içimden. Tıkladım, beyaz ve alpha gradient'i olan bir renk gradienti seçtim. BAM! Anında renkli parçacıklar fırlamaya başladı. Sorun buydu işte, tüm o karmaşık ayarların ortasında basit bir renk seçimi hatası.
Alınan Acı Ders
En kompleks sistemlerde bile bazen en temel, en aptalca hatayı arıyor olabilirsin. Özellikle Particle System gibi onlarca modülü olan şeylerde, en baştaki Main Module ayarlarını (özellikle renk ve emisyon) iki kere kontrol etmek gerekiyor. Saatlerce kodu, shader'ı, texture'ı suçlayıp durdum, meğerse suçlu ben ve faremdeki o bir tık imiş.
Siz de böyle "şaka gibi" diyeceğiniz, basit bir ayar yüzünden saatlerinizi heba ettiğiniz oldu mu? Unity particle'larında en çok hangi ayar sizi çileden çıkarıyor?
Ekranda beklediğim, rengarenk, enerji dolu, patlayan bir parçacık şöleni değil de, tekdüze, soluk gri, yavaşça yükselen bir duman bulutu gördüm. Sanki karakterim sihir yapmıyor da, usulca bir sigara yakmıştı. Meğerse sorun şuradaymış: Start Color ayarını yanlışlıkla sabit gri yapmışım ve Emission modülündeki Rate over Time değeri de komik derecede düşükmüş. Yani saniyede 2-3 tane gri parçacık doğuruyor sistem. Tabii duman oluyor!
C#:
// Bu satır yüzünden her şey griydi!
mainModule.startColor = Color.gray; // Neden beyaz değil de gray yazdım ki?
Önce texture'ı değiştirdim, olmadı. Shader'la oynadım, fark etmedi. Gravity Modifier'ı kapattım, duman yine duman. StackOverflow'da bile "particle only smoke" diye arattım, sonuç yok. En son, saatler sonra, gözüm Inspector penceresindeki o küçücük Color kutusuna takıldı. "Ya bu mu?" dedim içimden. Tıkladım, beyaz ve alpha gradient'i olan bir renk gradienti seçtim. BAM! Anında renkli parçacıklar fırlamaya başladı. Sorun buydu işte, tüm o karmaşık ayarların ortasında basit bir renk seçimi hatası.
En kompleks sistemlerde bile bazen en temel, en aptalca hatayı arıyor olabilirsin. Özellikle Particle System gibi onlarca modülü olan şeylerde, en baştaki Main Module ayarlarını (özellikle renk ve emisyon) iki kere kontrol etmek gerekiyor. Saatlerce kodu, shader'ı, texture'ı suçlayıp durdum, meğerse suçlu ben ve faremdeki o bir tık imiş.
Siz de böyle "şaka gibi" diyeceğiniz, basit bir ayar yüzünden saatlerinizi heba ettiğiniz oldu mu? Unity particle'larında en çok hangi ayar sizi çileden çıkarıyor?