Unity Parçacık Sistemlerinin Kullanımı (Particle Systems)

Unity Parçacık Sistemlerinin Kullanımı (Particle Systems)

14 Ocak 2020 0 Yazar: Ahmet Güler

Merhaba, bir önceki yazımızda coroutine fonksiyonlarının kullanımına bakmıştık.Bu yazımızda ise, Unity‘deki parçacık sistemlerini (Particle Systems) inceleyeceğiz.Bu sistemler, projemizde bulunacak herhangi bir efekti yapmak için kullanılır.En basiti ile bir bacaya duman efekti verebilirsiniz.Yada bir silahtan çıkan mermiye patlama efekti verebilirsiniz.Kullanım şekli tamamen sizin projenizde bu sistemi nasıl kullanacağınıza bağlı.O zaman projemize başlayalım.

Senaryomuzda kullanılan  malzemeler.

Senaryomuz için gereken nesneleri projemize eklemeden önce, bu projemiz için senaryomuza bakalım.Baştan belirteyim.Bu projede kod yazmayacağız.Aslında parçacık Particle Systems için kod yazabiliriz ancak anlatacağım şeyler biraz uzun olduğu için bugünkü yazımızda kodlama kısmına girmeyeceğim.Şimdi senayomuzda, bir havai fişek efekti yapmaya çalışacağız.Evet şimdi, senaryomuzda bir tane Cylinder oluşturuyoruz.

Bunun için Hierarchy penceresinde sağ tıklayarak sırasıyla, 3D Object > Cylinder seçimini yapıyoruz.Bu silindir bizim havai fişeklerimizin çıktığı nesne olacak.Daha sonra bu nesneye sağ tıklıyoruz ve Particle Systems seçimini (eğer kullandığınız sürüm 2017 ve üzeri ise Effects > Particle Systems) yapıyoruz.Evet sahnemize parçacık sistemini ekledik.Şimdi gerekli ayarlamaları yapmadan önce Inspector penceresinde bulunan menülerin ne işe yaradıklarına kısaca bir değinelim.

Parçacık sisteminin özellikleri.

  1. Duration: Bu ayar ile sahnede oluşturduğunuz parçacıkların ne kadar sürede oluşturulması gerektiğini belirleyebilirsiniz.
  2. Looping: Sahnede oluşturulan parçacıkların sürekli tekrar ederek durmamasını sağlar.
  3. Prewarm: Bu seçenek Looping aktif ise gözükür.Aktif olduğu zaman, efektiniz baştan başlamaz.(örneğin, havada havai fişek patlamışken çalışır.)
  4. Start Delay: Sahnedeki parçacıkların oluşumunu geçiktirmeye yarıyor.
  5. Start Lifetime: Sahnedeki parçacıkların yok olma süresini ayarlar.
  6. Start Speed: Parçacıklarınızın hızını belirler.
  7. Start size: Parçacıklarınızın boyutunu belirler.
  8. Start Rotation: Parçacıklarınızın yönünü belirler.
  9. Start Color: Parçacıklarınızın rengini belirler.
  10. Gravity Modifier: Eğer efektiniz yer çekimi ile ilgiliyse, parçacıklarınıza yer çekimi kuvveeti verebilirsiniz.
  11. Simulation Space: Sahnedeki parçacıklarınızın koordinatlarını nesneye yada uzaya göre olmasını belirleyebilirsiniz.
  12. Play On Avake: Projenizi başlattığınız zaman otomatik olarak başlayıp/başlayamayacağını belirler.
  13. Max Particles: Sahnenizde aynı anda yaşayan (Start Lifetime özelliği aklınıza gelsin.) parçacık sayısını belirler.

Bu bölüme kadar, Particle systems‘in ana öğelerini inceledik.Bu özelliklerin sağında bulunan oklara basarsanız daha birçok seçenek olduğunu görürsünüz.Bu özelliklere ve diğer menülerin ne işe yaradığını havai fişek efektimizi yaparken değineceğim.İlk olarak parçacık sistemimizi seçiyoruz ve sağ taraftaki Inspector penceresinden gerekli ayarları yapıyoruz.İlk olarak, shape bölümünden “cone” seçimini yapıyoruz.

Ardından “angle” bölümüne geliyoruz ve açısını “20” yapıyoruz.Böylelikle parçacıkların dağılması için belli bir alan sağlamış olduk.Daha sonra “radius” bölümünden yarıçapını “0.01” olarak belirliyoruz.Bu bize parçacıkların tek bir noktadan çıkmasını sağlamak için gerekli bir ayardır.Diğer ayarlara dokunmuyoruz.Daha sonra ana ayarlarımıza geri dönüyoruz.”Duration” ayarını “5” yapıyoruz.”Looping” seçeneğimiz aktif halde oluyor.”Start Delay” seçeneğimiz “0” olarak belirliyoruz.Çünkü herhangi bir gecikme istemiyoruz.

“Start lifetime” ayarını “1” olarak belirliyoruz.”Start Speed” ayarını “15” olarak belirliyoruz.Böylelikle başlangıçta hızlı bir şekilde havaya fırlayacaktır.”Start size” ayarını “1” olarak belirliyoruz.Bu parçacıklarımızın başlangıçtaki büyüklüğünü ifade ediyordu.Daha sonra “start color” seçeneğimizin yanındaki oka basıyoruz ve “Random Between Two Colors” seçimini yapıyoruz.Böylelikle iki renkte havai fişeklerimiz patlayacaktır.

Şimdi emission özelliğini aktif hale getiriyoruz.”Rate over time” seçeneğini “1” olarak belirliyoruz.Trails özelliğine geliyoruz ve aktif ediyoruz.Daha sonra havai fişeğimizin havaya giderken arkasında bıraktığı duman için yeni bir materyal oluşturuyoruz.Bu materyale tıkladığımızda Shader ayarı bölümünü “Particles > Additive” ayarına getiriyoruz.

Tekrar parçacık sistemize geliyoruz ve Renderer özelliğine gelerek, “Trail Material” bölümüne bu materyalimizi ekliyoruz.Tabi bu materyaller için kaplama seçimini size bırakıyorum.Şu an için efektimizi başlattığımızda havaya giden parçacıklar olması gerekiyor.

İkinci bir parçacık sistemi kullanmak.

Şimdi ise ikinci parçacık sistemini sahnemize eklememiz lazım.Neden derseniz, ikinci parçacık sistemini, havai fişeğimizin tam patlama anı için kullanacağız.Bunu yapmamız içinde ilk parçacık sistemimize entegre etmemiz gerekiyor.Hemen nasıl yapacağımıza bakalım.Öncelikle Hierarchy penceresindeki ilk parçacık sisteminin üzerine sağ tıklıyoruz ve Particle Systems seçimini yapıyoruz.

Daha sonra ilk parçacık sistemine geliyoruz ve sağ taraftan aşağıya inerek, “Sub Emitters” özelliğini aktif ediyoruz.Şimdi az önce oluşturduğumuz parçacık sistemini sürükleyerek, boş olan yere bırakalım.Artık iki sistemde senkronize bir şekilde çalışabilir.

Bu aşamada ilk parçacıkların yok olmasını beklememiz ve daha sonra ikinci parçacıkları aktif hale getirmeliyiz.Bunu yapmak için, “Sub Emitters” özelliğinin başındaki seçeneği, “Death” yapıyoruz.Son olarak, “Inherit” özelliğini “color” olarak ayarlıyoruz.Artık diğer parçacık sistemimize geçebiliriz.

Emission özelliğine geliyoruz. “Rate over time” seçeneğini sıfıra getiriyoruz.Daha sonra aşağıdaki bölüme, “min” 30 ve “max” 100 yazıyoruz.Bu iki aralıkta rastgele sayıda parçacık oluşumunu sağlayacaktır.Ve bu parçacıklar bir anda oluşacaklar.Sonra shape özelliğine geliyoruz.Buradan parçacıkların oluşma şeklini, “sphere” olarak belirliyoruz.Böylelikle küre biçiminde oluşacaklar ve dağılacaklar.Bu kürenin “radius” değerini 0.5 olarak belirliyoruz.

Renderer özelliğine geliyoruz ve “Render mode” seçimini, “stretched billboard” olarak ayarlıyoruz.Havai fişeklerimizin görünüşünü belirlemek için, “material” bölümüne oluşturduğumuz materyal dosyasını ekliyoruz.Daha sonra Trails özelliğini aktif hale getiriyoruz ve Renderer özelliğinde açılan, “Trails material” bölümüne oluşturduğumuz materyal dosyasını ekliyoruz.”Speed Scale” bölümünü “0.05” olarak ayarlıyoruz ve “Lenght Scale” bölümünü de “1.5” olarak belirliyoruz.

Evet daha anlatamadığım birçok seçenek var ancak yazı çok uzun olduğu için başka bir zaman ve projede anlatmayı düşünüyorum.Bu dersimizin de sonuna geldik.Bir sonraki yazıda görüşmek üzere…