Bulut üretimi eğlencelidir! Hem çevrimdışı hem de çalışma zamanı yöntemlerini ele alacağım.
Bulutlu bulutlar
Bulut dokularınızı çevrimdışı olarak önceden oluşturmak istiyorsanız, Photoshop'tan (veya isterseniz Gimp) başka bir yere bakmayın . Her iki program da kolayca bulut kalıpları oluşturabilir. Menü öğeleri sürümler arasında hareket etme eğilimindedir, ancak Gimp 2.8.2'den itibaren aradığınız temel komuttur Filters -> Render -> Clouds -> Solid Noise
. Komut etkinleştirilmeden önce yeni bir boş resim oluşturmanız gerekir. Gürültü parametrelerini denemenizi öneririm, ancak bir örnek olarak, "Rastgele Tohum" u 1, "Detay" ı 4, "X Boyutu" değerini 4,0, "Y Boyutu" değerini 8,0 olarak ayarladığınızda devre dışı kalırsanız ne olur? "Rastgele" ve "Türbülans" ve "Tilable" seçeneğini etkinleştirin:
Kesinlikle tavsiye ettiğim bir diğer adım, görüntünün seviyelerini düzenlemek ( Colors -> Levels...
Gimp'te). Uç noktaları etrafında sürükleyerek, bulut örtüsü düzeyini etkin bir şekilde "tamamen bulutlu" dan "gökyüzünde bir bulut değil" olarak değiştirebilirsiniz.
Diğer ilginç olasılıklar:
- Görüntünün bölümlerini manuel olarak aydınlatmak / koyulaştırmak için "Soldur" ve "Yaz" araçlarını kullanın.
- Rüzgar desenleri önermek için bulut görüntüsünü bükün. Gimp'in
Filters -> Distorts -> Whirl and Pinch...
komutunu deneyin veya Filters -> Distorts -> IWarp...
Deforme Modu "Girdap" olarak ayarlandığında daha fazla kontrol kullanımı için. Yine de ince tutun - çok fazla çarpıtma, yüksek frekanslı ayrıntıları görüntüden bulanıklaştırma eğilimindedir.
- İnce ve incecikten büyük ve tıknazlara kadar farklı bulut türlerini simüle etmek için birden fazla bağımsız bulut katmanı ekleyin (eminim, bilimsel isimlere sahip olduklarından eminim, ama lanet Jim, ben bir programcıyım, meteorolog değilim!). Bu durumda, muhtemelen her katmanı ayrı bir görüntü olarak kaydetmek istersiniz, böylece çalışma zamanında bağımsız olarak hareketlendirebilirsiniz.
Gerçekten sanatsal vizyonunuza bağlıdır. Çıldırmak! İşiniz bittiğinde, dokuyu tek kanallı gri tonlamalı bir görüntü olarak dışa aktarmayı unutmayın, böylece çalışma zamanında renk ve alfa kanalınız için aynı bulut verilerini kullanabilirsiniz.
Çalışma zamanı bulut üretimi
Çalışma zamanında sınırsız bulut kalıpları oluşturmak biraz daha kapsayıcıdır, ancak yine de tamamen mümkündür. Bu çok büyük bir konu ve bu sadece geniş vuruşları kapsayacak.
Temel olarak, sonsuz, pürüzsüz, deterministik (isteğe bağlı) periyodik gürültü hacimleri oluşturmak için kanonik Perlin Gürültüsü gibi bir gürültü işlevini kullanarak gölgelendirici kodunuzdaki Gimp'in "Katı Gürültü" komutunu çoğaltacaksınız . Sorunuz hangi oluşturma API'sını hedeflediğinizi belirtmedi, bu yüzden burada çok belirgin olamıyorum; "GPU Mücevherleri 2" nin 26. bölümü HLSL ve CgFX'deki (biraz tarihli) Perlin gürültüsünün bir varyantını kapsar veya bu bırakılan GLSL gürültü işlevini kullanabilirsiniz. 3D gürültü hacminin 2B dilimini örnekleyerek, Ayrıntı = 0 ile Gimp "Katı Gürültü" komutu gibi bir şey elde edersiniz. Gürültü hacmi örnekleriniz arasındaki mesafe ne kadar düşük olursa, gürültünüz o kadar düşük frekansta ("daha düzgün") olur. Yüksek frekanslı ayrıntı düzeyini artırmak için, temel bir düşük frekanslı gürültü modeliyle başlayın ve her bir "oktavın" daha geniş bir örnekleme mesafesine sahip 3D gürültü hacminin farklı bir dilimi olduğu ek yüksek frekanslı "oktav" gürültü ekleyin. ve daha düşük genlik. Bu sürecin görsel bir örneği (Google'da "çok oktavlı Perlin gürültüsü" ile bulduğum) burada bulunabilir .
Büyük bir avantaj olarak, bu şekilde üretilen bulut dokuları kolayca canlandırılabilir! 3B gürültü işlevi örnek koordinatlarınıza zamana dayalı bir ofset ekleyin ve son derece inandırıcı bulut hareketi elde edin ( örneğin bu videoda görüldüğü gibi). Bunun nedeni, gürültü işlevinin her üç boyutta da düzgün olmasıdır; dokuyu U / V yönünde kaydırmak bulutların gezegenin etrafında hareket etmesine neden olurken, W (dikey) yönünde kaydırma bulutları yavaşça "evrime" etkisine sahiptir.
Kasırga benzeri etkiler için çalışma zamanında çarpık bulutlar da mümkündür. Sonuçlar aslında (daha önce belirtildiği gibi) aşırı bulanık bir dokuya yol açabilen saf Gimp çözgü filtrelerinden çok daha yüksek kalitede olabilir. Kesinlikle bakmak istediğiniz bir teknik, Valve'dan Alex Vlachos ( SIGGRAPH 2010 slaytları ) veya Naughty Dog'dan Carlos Gonzalez ( GDC 2012 slaytları ) tarafından tarif edildiği gibi "akış haritaları" dır . Temel fikir, bir vektör alanını ("akış haritası") boyamanız ve distorsiyon mesafesi çok yükseldiğinde, iki farklı bulut dokusu arasında düzenli olarak çapraz geçiş yaparken bulut dokusunu çalışma zamanında deforme etmek ve kaydırmak için kullanmanızdır.
Hangi yöntemi kullanmalı?
Gimp / Photoshop'ta bulut dokularını önceden oluşturmak son derece kolaydır; asıldıktan sonra birkaç saniye içinde yeni bir doku oluşturabilirsiniz. Çalışma zamanı kodu önemsiz ve çok hızlı. Bununla birlikte, daha benzersiz bulut dokuları, daha yüksek disk alanı gereksinimleri (daha büyük / daha yavaş indirme) ve çalışma zamanında daha fazla VRAM kullanımı anlamına gelir.
Çalışma zamanı bulut üretimi ilk başta çok daha zordur, ancak çalıştıktan sonra, önceden oluşturulmuş bulut dokularına göre birkaç belirgin avantajı vardır. Ek disk alanı veya VRAM kullanmadan sınırsız çeşitlilikte gerçekçi animasyonlu bulut modelleri oluşturabilirsiniz. Bununla birlikte, piksel başına birden fazla 3D gürültü işlevini değerlendirmenin çalışma zamanı maliyeti dik olabilir; bulut piksel gölgelendiricileriniz, önceden oluşturulmuş durumda olduğundan çok daha yavaş olacaktır.
TL; DR: kesinlikle önceden oluşturulmuş bulutları kullanarak başlayın ve ekstra çeşitliliğe ihtiyacınız varsa (veya ekstra bir programlama zorluğu istiyorsanız) çalışma zamanı prosedür bulutlarına geçin.