Sezon Değişikliği Gösterme Etkisi


10

Seasons After Fall için teaser fragmanını izliyordum ve mevsimler arasında geçiş yapmak için kullandıkları etkiden etkilendim (yaklaşık 21-24 saniye):

Gösterme efektini gösteren animasyon

Arka plan ve ön plan platformları da dahil olmak üzere seviye sanatı, sepya renginde bir sonbahardan lavanta kışına dönüşür, efekt oyuncu karakterinden dışarıya doğru ıslanan su gibi biraz yayılır.

Yaprak ve ağaç kabuğu desenlerindeki ayrıntılar geçişte değiştiği için sadece bir palet değişikliğinden daha fazlası gibi görünüyor.

Bir 2D Unity oyununda buna benzer bir etkiyi nasıl elde edebilirim?

Yanıtlar:


12

Bunu yapmanın bir yolu, bir alfa haritası kullanarak iki arka plan arasında uyum sağlamaktır. Basit bir yaklaşım, "arka" (gizli) arka planı ve ardından "ön" (başlangıçta görünür) arka planı oluşturmaktır. Ön arka planın saydamlığını, saydam veya yarı saydam bir hareketli grafikte olduğu gibi kontrol etmek için ön arka planın alfa kanalını veya ayrı bir alfa dokusunu kullanın. Bu alfa haritasının birden az olduğu durumlarda, arka planın bölümleri gösterilir.

O zaman bu alfa haritasını istediğiniz etkiye göre inşa etme meselesi. Gösterdiğiniz videoda, böyle bir harita "ressamlık" bir yaklaşımla inşa edilmiş gibi görünüyor. Bu, rastgele sıfır alfa dairelerinin rastgele yerleştirilmesini içerebilir (bu, kenarlarının etrafında 1,0 alfa kadar tüylüdür). Bu daireleri ortaya çıkmanın kökenine sıkıca önyargılı olarak yerleştirmeye başlayın ve zamanla dışa doğru yayılmaları için önyargıyı gevşetin. Bunu yaparken muhtemelen dairelerin yarıçapını da genişletmek isteyeceksiniz.

Efekti arzularınıza göre uyarlamak için ihtiyaç duyduğunuz için bu yaklaşımı değiştirebilirsiniz; düz daireler örneğin biraz fazla "lekeli" görünebilir ve bunun yerine rastgele seçilmiş önceden yazılmış bir "fırça darbesini" rasgele maskeye damgalamak isteyebilirsiniz. Rastgele yerleşim bile biraz fazla düzensiz görünebilir ve bunun yerine alfa maskeyi önceden yazılmış bir eğri veya spline boyunca belirli bir stili vurgulamak için damgalamayı tercih edebilirsiniz.


Üzgünüz, aynı zamanda çok benzer bir cevap yazıyordum, öyle görünüyor. ^ ^; Çakışma için özür dileriz.
DMGregory

Cevabınız için teşekkür ederim, bunu deneyeceğim ve size geri döneceğim! Bir kez daha teşekkür ederim
Jessca Stone

Ayrıca dört veya beş geçişi elle çizebilir ve dönüşü biraz rastgele ayarlayabilirsiniz. Herkesin bu kadar hızlı ve en kötü senaryo olduğunda umursacağından şüpheliyim, rotasyon ve yatay ölçeklendirme ile oynayabilirsiniz.
Monica'nın Davası

Özür dilerim, tekrar rahatsız etmek için, ama bunu daha fazla ayrıntılandırabileceğinizi merak ediyordum, çünkü kendi testimi yapıyordum ama biraz tıknazdı ve şeffaf da yapamadım. Rahatsızlık için tekrar özür dilerim ve teşekkür ederim!
Jessca Stone

Görünüşe göre bir çok şey potansiyel olarak orada yanlış olabilir; Burada hata ayıklamanıza gerçekten yardımcı olamam, ancak Oyun Geliştirme Sohbeti'ndeki birisinin yapabileceği ve bazen de beni orada bulabileceğiniz mümkündür.

7

Bu SpriteRenderers benim aralarında geçiş yapmak istediğiniz her sürüm için bir tane alır iki özel bir gölgelendirici kullanarak yaklaştı.

(Bu efekti ikiden fazla eyalet arasında geçiş yapmak için kullansam bile, oyunu yapılandırmaya çalışacağım, bu yüzden herhangi bir anda render için sadece ikiye ihtiyacımız var: eski durum ve bir sonraki durum. Bu geçiş oyununa izin vereceğiz oyuncunun üçüncü bir duruma geçiş yapmasına izin vermeden önce tamamlanması gerekir; bu noktada artık görünmediği için önceki "eski" durumumuzu değiştirebiliriz)

Bu gölgelendirici, etki için bir maske olarak üçüncü bir tek kanallı doku kullanarak iki doku arasında solmaya neden olur (örn. Siyah =% 100 eski durum, gri = 50/50 karışım, beyaz =% 100 yeni durum). Bu maske dokusunu ekran uzayında eşlerdim.

Sonra bu maskeyi oluşturmak için bir RenderTexture oluşturmak için ikinci bir kamera kurmak istiyorum. Bu ikinci kamera ana kameramla hareket edecek ve FoV / ortografik boyutuna uyacaktı, bu yüzden bence herhangi bir animasyon hem dünya için geçerli hem de maskeyi tutarlı bir şekilde ortaya koyuyor. Bu kamera ana kameramdan önce görüntülenecek ve yalnızca özel olarak belirlenmiş bir "gösterim" katmanındaki içeriği görecek şekilde ayarlanacaktır. Video örneğinde, zaman içinde genişleyen ve geçişe organik görünümlü bir serpme kenarı veren küçük bulut şekilleri koleksiyonunu bu açık dokuya sıçramak için bir parçacık sistemi kullanıyor gibi görünüyor.


Cevabınız için teşekkür ederim, bunu deneyeceğim ve size geri döneceğim! Tekrar teşekkürler!
Jessca Stone
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.