Unity ile Kamp Ateşi Yapımı

Unity ile Kamp Ateşi Yapımı

17 Ocak 2020 0 Yazar: Ahmet Güler

Merhaba, bir önceki yazımızda Unity‘de çocuk nesnelere nasıl ulaşabileceğimizi anlatmıştık.Bu dersimizde ise bir kamp ateşi yapacağız.Daha önceki yazılara bakarsanız, parçacık sisteminin kullanımını anlatmıştım.Detaylı anlatım için o yazıya bakabilirsiniz.Bu sefer farklı olarak, ateş efekti yapacağız.Hemen projemizi yapmaya başlayalım.

Sahnenin planlanması.

Öncelikle gerekli nesnelere bir bakalım.Biz kamp ateşi yapacağımız için bir zemine, taşlara ve odunlara ihtiyacımız olacaktır.O zaman öncelikle zeminimizi sahnemize ekleyerek başlayalım.Hierarchy penceresinde sağ tıklayarak sırasıyla, 3D Object > Plane seçimini yapıyoruz.Daha sonra yine aynı aşamadan geçerek, 3D Object > Cube seçimini yapıyoruz.Plane nesnesi bizim zeminimizi oluşturken, Cube nesnesi de kamp ateşini çevreleyen taşları oluşturacak.Tabi Cube nesnesinden birden çok kopya almalıyız ki, birazdan ekleyeceğimiz odunlarımızın etrafını sarabilsin.

Tabi bunu yapmadan önce Cube nesnemize bir material atıyoruz.Bu nesneler taşı temsil edecekleri için, internetten taş kaplamaları diye aratabilirsiniz.Ben bir tanesini seçtim ve Project penceresinden oluşturduğum material dosyamın üzerine bu taş kaplamasını attım.Daha sonra bu material dosyamızı Cube nesnesinin üzerine attık.Şimdi bu nesnemizi kopyalayabiliriz.Bunun için kısayol olarak ctrl+d kombinasyonunu kullanabilirsiniz.Bu taşların pozisyonlarını istediğimiz gibi ayarladıktan sonra şimdi odunlarımızı oluşturmaya gelelim.

Yine Hierarchy penceresinde sağ tıklayarak sırasıyla, 3D Object > Cylinder seçimini yapıyoruz.Daha sonra bu Cylinder nesnemize de aynı şekilde bir material dosyası atıyoruz.Şimdi bu nesnemize Rigidbody bileşenini ekliyoruz.Bunu Inspector penceresinde en altta inerek, “Add Component” butonundan ekleyebilirsiniz.Bunu eklememizin sebebi, odunlarımızı sahnemize biraz üstten bırakacağız ve yerçekimi kuvveti ile rastgele pozisyonlarda duracaklar.Böylelikle daha doğal bir görüntü oluşturabileceğiz.En son olarak bu odunlarımızı istediğimiz kadar kopyalıyoruz.Sahnemizin son hali aşağıdaki gibi oluyor.

unity_kamp_ateşi_yapmak

Kamp ateşinin yapımı.

Öcelikle Hierarchy penceresinde sağ tıklayarak Particle System seçimini yapıyoruz.Daha sonra bu parçacık sistemini Scene penceresinden, tam odunlarımızın ortasına gelecek şekilde konumlandırıyoruz.Daha sonra sağ taraftan ayarlar bölümüne geliyoruz.İlk olarak ateşimiz için bir material dosyası eklememiz gerekiyor.İnternetten arkaplanı siyah olan bir ateş ikonu buluyoruz.Yada photoshop programını kullanarakta kendi kaplamanızı oluşturabilirsiniz.Bu materyal dosyasını, “Renderer” bölümündeki ilgili yere ekliyoruz.

Burada dikkat etmeniz gereken, material dosyamızın “Shader” özelliği “Particles/Additive” olmasıdır.Daha sonra en başta bulunan ana ayarlarımıza geliyoruz.Buradaki ayarları kendinize göre ayarlayabilirsiniz.Ben yine aşağıya kullandığım ayarları ekleyeceğim.”Shape” bölümünü açıyoruz.Burada bir Cone kullanacağız.Angle değerini “5” ve Radius değerini “0.01” yapıyoruz.Şimdi efektimizi ateşe benzetmek için, Color Over Lifetime özelliğini etkinleştiriyoruz.Buradaki editörü açıyoruz.

Üstte gördüğünüz çentikler saydamlığı ayarlıyor.Bunların ikisinide sıfıra indiriyoruz.Daha sonra ortaya tıklayarak bir tane daha çentik ekliyoruz.Bunun saydamlık değeri tam olacak.Şimdi aşağıdaki çentiklere gelelim.En sol taraftaki, bizim ateşimizin başlangıç rengini belirliyor.En sağdaki ise bitiş rengini belirliyor.Ortaya bir tane daha çentik ekleyelim ve buna da bir renk verelim.Renkleri ateş yanarken oluşan tonlara göre belirleyebilirsiniz.Daha sonra Emission özelliğine geliyoruz ve “Rate Over time” ayarını istediğimiz gibi ayarlıyoruz.Ben “20” olarak belirledim.

Son olarak, sahnedeki ışığımızın üstüne tıklıyoruz ve “Type” bölümünü “point” olarak değiştiriyoruz.Daha sonra tam ateşin üzerine gelecek şekilde ayarlıyoruz ve rengini değiştiriyoruz.Intensity ayarını yükselterek duyarlılığını arttırabilirsiniz.Evet böylelikle kamp ateşimizi bitirmiş olduk.Daha ince ayarlar ile daha gerçekçi efektler oluşturmamız mümkündür.Bir sonraki yazıda görüşmek üzere…

unity_kamp_ateşi_yapmak