Yüksekliğe dayalı hacimsel bir sisi nasıl oluşturabilirim?


10

Son zamanlarda, oyun dünyasının bazı Y pozisyonlarında hacimsel sis yapmak için teknikler arıyordum. Ama bulduğum tek şey, parçacık sistemi ya da aradığım şeye gerçekten uymayan dahili motor sisi kullanılarak yapılan bir sis.

Benim durumumda, hem verimli hem de yoğun bir sise ihtiyacım var. Oyun dünyasının her yerinde olmalı, ancak açıkçası, performans nedenleriyle, sadece bir kameranın veya gölgelendiricinin bir parçası olarak oluşturulabilir ve sadece bir yanılsama olmasına rağmen hareket ediyor gibi görünebilir. En iyi seçimse parçacık sistemini ayarlayabilirim, kameraya bağlayabilir ve hareket ettirebilirim.

Öyleyse ana soru hala devam ediyor - hem yoğun hem de verimli performans gösteren hacimsel bir sis nasıl uygulayabilirim?

Kullandığım belirli bir motor olarak, Unity.

Ne demek istediğimi bir örnek olarak, aradığım efektle bir oyunun bağlantısı: Astromike

Yüksekliğe dayalı yoğun bir sis kullanan bir oyundan örnek ekran görüntüsü.


Burada bir GLSL noob biraz, ama tepe gölgelendiriciden alacağınız Y koordinatlarına dayanarak, parça gölgelendiricisindeki pikselleri renklendirmeye ne dersiniz?
Quentin

2
"Derinlik ile Özel Efektler" konulu Birlik konuşmasını incelediniz mi? Şimdi birkaç yaşında olmasına rağmen, prensipler hala geçerlidir. Hem yükseklik tabanlı sis hem de boş alanlarda havuzlar ve engellerin etrafından incelen "kabarık sis" i kapsar ve tüm örnekler Birlik olduğu için uygulanması kolay olmalıdır.
DMGregory

@Quentin evet, iyi fikir, her nesne için gölgelendirici olacak mı? Sonra çok fazla gölgelendiricinin değiştirilmesi gerekir. Ben de gölgelendirici programlamada bir çaylağım, bu yüzden saçmalık yazmış olabilirim. Ancak bildiğim kadarıyla, köşe gölgelendiricileri nesnelere uygulanır. Ve renklendirme hareket efekti vermeyebilir. Hareket etmek istersem, içinde hareket eden her küçük şeyin bir nesne olması gerektiğini anlıyorum, bu yüzden parçacık sisteminin en iyi yol olabilir.
Candid Moon _Max_

@wondra evet, eğer doğruysa, bu en iyi yaklaşım olmayabilir, şeffaflık performans açısından ağırdır.
Candid Moon _Max_

1
Listeler Soru-Cevap biçimimiz için de uygun değil, çünkü bir liste ne zaman tamamlandı? Kaç "farklı durum" yeterlidir? "En iyi" metriklerini hangi ölçütlerle değerlendiriyoruz? Genellikle bu format, doğrulayabileceğiniz cevapları olan açık odaklı sorularla en iyi sonucu verir. Dolayısıyla, ihtiyaçlarınızı karşılayan bir cevabınız olduğunu düşünüyorsanız, sorunuzu, aşırı geniş ve eksik cevap vermek yerine, ilk etapta gerçekten ihtiyaç duyduğunuz şeye daraltmak için düzenlemek daha iyidir. Diğer kullanıcılar her zaman diğer yönleriyle ilgili başka sorular sorabilir, durumlarıyla ilgili daha odaklanmış cevaplar alabilirler
DMGregory

Yanıtlar:


24

Astromike'nın yaratıcısıyım. :)

Aslında, sis gibi görünmesi için oldukça basit bir numara kullanıyorum. Birlik kullanarak Astromike geliştiriyorum, yani Birlik kullanırsanız, aynısını yapabilirsiniz. Ama aynı gölgelendiriciyi diğer motorlar için de yeniden oluşturabileceğinizi varsayıyorum.

Yaptığım şey, sis için bir uçak oluşturdum ve Yumuşak Parçacık Faktörü (benim durumumda 0.32) gölgelendirici ile Parçacık / Alfa Karışımlı bir malzeme ekledim. Bu kadar.

Sis uçağı: http://imgur.com/a/MAEFW

Ayarlar: http://imgur.com/NJVAaIQ

Kamera açısı nedeniyle benim için çalışıyor ve diğer insanlar için çalışmayabilir.

Gerisi sadece post-etki yığınıdır (Bloom, Vignette, vb ..) Umarım bu yardımcı olur. Şerefe.


1
Vaov! Harika, paylaştığın için teşekkürler! Oyun inanılmaz :)
Candid Moon _Max_

Harika ve çok basit görünüyor, bunu projemde yapmaya çalıştı. Sadece bir perspektif kamera kullanarak çalışıyor gibi görünüyor (oyunumuz ortografiktir).
Jeff

bu gerçek olamayacak kadar iyi haha ​​güzel bir
Lestat

Merhaba @ Mikea15, çok güzel görünümlü oyun! Ne yazık ki, bahsettiğiniz efekti yeniden oluşturamıyorum - Bloom'u post işleme yığınına ekledim, ancak sis düzlemi arkalarında olsa bile (şaşırtıcı değil) nesneler üzerine yayılıyor, demoda ise dikey kenarların sütunlar çiçeklenme etkisi temiz. Ayrıca, benim Yumuşak Parçacık Faktörü benim değer ne olursa olsun, hiçbir şey değişmez. Bunu gösterecek küçük bir demo sahnesine sahip olsaydınız harika olurdu. Teşekkürler!
Dawid

@Dawid bunun geç olduğunu biliyorum, ancak kamera oluşturma yolunuzu ertelenmiş olarak ayarlamanız ve yumuşak parçacıkların proje ayarlarında kalite üzerinde kontrol edildiğinden emin olmanız gerekiyor
Rito Ramos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.