Ocarina of Time'ın başlık ekranında olduğu gibi nasıl 'alev' etkisi yaratabilirim?


102

Aşağıda gösterilen N64 oyunu 'Zelda Efsanesi: Ocarina,' başlık ekranındaki logodaki gibi bir alev efekti yaratmak istiyorum:

görüntü tanımını buraya girin

ROM'da kullanılan dokulara kısa bir bakış, efekte benzeyen tek bir 32x32 doku sağlar, ancak bu görüntünün (doğru olanın bu olduğunu) logo üzerinde görülen etkiye nasıl dönüştürüldüğünü bilmiyorum.

Benzer bir şeyi nasıl uygulayabilirim?


2
Benzer bir etkiyi nasıl elde edeceğinizi sormak için sorunuzu biraz değiştirdim, çünkü diğer oyunların konuyla ilgili belirli sonuçları nasıl uyguladıklarını soran soruları dikkate almıyoruz.
Josh

Bir prosedür tekniği mi arıyorsunuz yoksa önceden hazırlanmış basit efektler de yeterli mi?
Bálint

Tam bir cevap yazmak için zamanım ve bilgim yok, ama belki de renk döngüsü ile yapılabilir .
Alexandre Vaillancourt

@JoshPetrie Teşekkürler, ben gerçekten sonra buydu
nathanburns

1
Tekniği hatırladığım kadarıyla, zor kısım, renkleri kendi başınıza değil, uygun paleti kullanarak piksellerle görüntü oluşturmaktan geliyor. Bisiklete binme, renklerin alt kümesi üzerinden kodda yapılır.
Alexandre Vaillancourt

Yanıtlar:


248

İlk önce logonuzun / metninizin siyah beyaz maskesini alın ve bulanıklaştırın.

logo bulanık şekli

Sonra tekrarlayan (tileable) sağlam bir gürültü dokusu (burada kullanılan GIMP) oluşturun

gürültü doku

Dokumuzun hala tekrarlanabilir olmasını sağlamak üzere bir sonraki adım için 3x3 döşemeli bir desen (bu örnekte, 128x128 x 3 = 384x384) oluşturmak için Harita-> Döşeme ... filtresini kullanın.

önceki resim 3'e 3

Dokuyu yukarı doğru bulanıklaştırmak ve sadece merkezin 1 / 3'ünü tutmak için Blur-> Motion Blur ... komutunu kullanın (geri 128x128)

Gürültü artı hareket bulanıklığı

Her iki dokuyu da GPU'da çarpın ve opaklık için kullanın.

gürültü ile birlikte maske

Ardından, desen dokusunu maske dokusunun üzerinde yukarı doğru hareket ettirerek hareketlendirin:

hareketli gürültü ile birlikte maske

Animasyon bölümü için yapıldı.

Daha sonra ateş renkleri vermek için bir degrade haritası (siyah -> kırmızı -> sarı -> beyaz) uygulayabilirsiniz:

yangın renkleri ile logo şekli

Diğer renkler, korkunç bir mavi ateş, açık sarı bir aura alanı, daha dumanlı bir etki vb. Oluşturmak için kullanılabilir.

Şimdi, bunu logonuza ve 3D rendere katkı olarak birleştirirseniz , istenen efekti elde edersiniz:

arka fon+ logo+ ateş=arka plan üzerinde yanan logo

Maske ve / veya desen parlaklığını ve / veya tepe rengini ve / veya gradyan renk haritasını tasarlanan düzeye ayarlayarak efekt karartılabilir.

Daha karmaşık bir yangın efekti oluşturmak için iki dokulu deseni birlikte (Maske * Yangın Deseni * Yangın Deseni) farklı hızlarda ve yönlerde kullanabilirsiniz.


Teknik olarak N64'te N64'ün dokularla ilgili donanım sınırlaması nedeniyle maske dokusu yerine üçgen ağ ve tepe rengi kullanarak maskenin yaklaşık bir değerini oluşturmuş olabilirler ancak sonuç aynıdır ((köşe rengi * desen dokusu) - ( maske dokusu * desen dokusu)).

Vertex renk modeli

Yine de köşe rengini kullanabiliriz, ancak 20 yıl sonra hayatımızı kolaylaştırabilir ve sadece 2 doku veya daha fazlasını kullanabiliriz, bugünün mobil GPU'ları bile, 256x128'lik gri bir dokuyu sorunsuz bir şekilde kaldırabilir.


3
Bu tam olarak ne arıyordu tekniğin türüdür, teşekkür @StephaneHockenhull - Ben Bir kazanan var
nathanburns

7
İnek bu güzel bir cevap!
John Gordon,

1
"hayalet" ya da "hayalet"?
CJ Dennis,

1
Aynı zamanda “görünüşte korkunç” anlamına da gelir. "Bu kravat takma; bu korkunç." Cümlenizi "Diğer renkler gerçekten çok kötü veya duman etkisi verebilir" olarak yorumladım. "Ghostly", istediğiniz kadar güçlü olmasa bile belirsizdir.
CJ Dennis,

1
En ciddi at çekimi için sana ikinci bir oy verebilmeyi isterdim.
tanıyıcı

2

Bunu yapmanın birkaç yolu var ama kafamın üstünden

1) Alevler + logoyu tek bir görüntüde bulundurun ve esasen hareketli bir sayfa çizin.

2) Logoyu bir UI katmanında oluşturun ve etrafına bazı UI katmanının parçacık efektlerini yerleştirin.

Bu görüntünün görünümünden 3ish kat kalkan ve kılıç, alevler, metin (arkadan öne doğru sıralanmıştır) var gibi görünüyor.

Benzer bir etki elde etmenin birçok yolu olacak, seçmiş olduğunuz hangi motorda geliştirdiğinize ve uygulayabildiğinize bağlı olacaktır.


0

ROM'lar küçük bir alev dokusu içeriyorsa, bunun bir tür parçacık etkisiyle yapıldığını tahmin ediyorum.

Bu, önce başlık ve logo için ekranda bir sprite koyarak yapılır. Sonra başlık sprite arkasında bir alev etkisi yaratan bir dizi parçacık yayıcı yerleştirin. Yani, Z / ekran derinliği, başlığın arkasında oluşturdukları şekildedir.

İşte size bu yaklaşımın potansiyeli hakkında bazı düşünceler verebilecek alevler oluşturmak için GameMaker parçacık efektlerini kullanmaya bir örnek ...

http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/


Öneri için teşekkürler - dokunun bağlantıda bulunduğunuz derslerdeki gibi olmadığını, bunun yerine 32x32 boşluğunu saydamlık olmadan doldurduğunu varsayarsak, bunu parçacıklarla yapmanın açık bir yolu var mı?
nathanburns

Orijinalin saydamlığı yoksa, parçacık için kendi alev dokumu yaratabilirdim. Buradaki varsayım, orijinal başlık tamamen hareketli bir sprite ile (alev efekti içeren) yapılmazsa, bunun muhtemelen bir parçacık efekti olduğu yönündedir.
Tim Holt,

@TimHolt Nintendo 64'ün donanım yeteneklerini fazla tahmin ediyor olabilirsiniz. Bu şekilde "katı" görünümlü bir alev efekti oluşturmak, donanımın yapabileceğinden çok daha fazla parçacık gerektirebilirdi.
duskwuff

1
@duskwuff - true, ancak kullanıcının bunu eski donanımda uyguladığını sanmıyorum. Bu sorunun cevabı hala herhangi bir modern (modern) sistem için geçerli bir cevaptır.
Tim Holt,

@ duskwuff sorusu şimdi nasıl uygulanacağıdır. Diğer oyunların nasıl bir şey yaptığına dair sorular (ve cevaplar) burada konu dışı. N64'ün donanım yetenekleri burada önemsiz. (Soruya Josh Petries yorumuna bakın)
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.