Perubahan Musim Mengungkapkan Efek

10

Saya menonton trailer teaser untuk Seasons After Fall , dan saya dikejutkan oleh efek yang mereka gunakan untuk transisi antar musim (sekitar 21-24 detik):

Animasi yang menunjukkan efek mengungkapkan

Level art, termasuk latar belakang dan platform latar depan, berubah dari musim gugur berwarna sepia menjadi musim dingin lavender, dengan efek menyebar keluar dari karakter pemain sedikit seperti air yang merembes melalui kertas.

Sepertinya lebih dari sekedar perubahan palet, karena detail dalam daun dan pola kulit berubah dalam transisi.

Bagaimana saya bisa mencapai efek yang serupa dengan ini di game Unity 2D?

Jessca Stone
sumber

Jawaban:

12

Salah satu cara untuk mencapai hal ini adalah dengan memadukan antara dua latar belakang menggunakan peta alfa. Pendekatan sederhana adalah dengan membuat latar belakang "belakang" (tersembunyi), dan kemudian latar belakang "depan" (awalnya terlihat). Gunakan saluran alfa latar belakang depan, atau tekstur alfa terpisah, untuk mengontrol transparansi latar belakang depan seperti yang Anda lakukan pada sprite transparan atau tembus cahaya. Jika peta alfa ini kurang dari satu, bagian dari latar belakang akan terlihat.

Maka itu hanya masalah membangun peta alfa itu sesuai dengan efek yang Anda inginkan. Dalam video yang Anda pamerkan, sepertinya peta seperti itu dibangun dengan pendekatan yang "sangat melelahkan". Ini mungkin melibatkan penempatan secara acak lingkaran nol alpha (yang turun menjadi 1,0 alpha di sekitar tepinya). Mulailah menempatkan lingkaran-lingkaran ini dengan sangat bias di sekitar asal pengungkapan, dan seiring waktu relakskan bias sehingga mereka menyebar ke luar. Saat Anda melakukan ini, Anda mungkin ingin memperluas jari-jari lingkaran juga.

Anda dapat mengubah pendekatan ini sesuai kebutuhan untuk menyesuaikan efeknya dengan keinginan Anda; lingkaran polos mungkin berakhir tampak sedikit terlalu "bernoda" misalnya, dan Anda mungkin ingin secara acak mencap "stroke brush" pra-penulis yang dipilih secara acak ke dalam topeng sebagai gantinya. Bahkan penempatan acak itu sendiri mungkin terlihat agak terlalu tidak teratur, dan Anda mungkin memilih untuk menstempel topeng alfa di sepanjang beberapa kurva atau spline yang telah ditulis sebelumnya untuk menyorot gaya tertentu.


sumber
Ups, saya mengetik jawaban yang sangat mirip pada saat yang sama dengan Anda, sepertinya. ^ _ ^; Permintaan maaf atas tumpang tindih.
DMGregory
Terima kasih atas jawabannya, saya akan mencoba ini dan kembali kepada Anda jika itu berhasil! Sekali lagi terima kasih
Jessca Stone
Anda juga bisa menggambar empat atau lima transisi dengan tangan dan hanya mengacak sedikit rotasi. Saya ragu ada orang yang peduli ketika itu skenario yang cepat dan terburuk, Anda bisa bermain dengan rotasi dan penskalaan horizontal.
Dana Gugatan Monica
Maaf, mengganggu lagi, tapi saya bertanya-tanya apakah Anda bisa menguraikan itu lebih lanjut, karena saya sedang mengujinya sendiri tetapi itu agak kikuk dan saya juga tidak bisa membuatnya transparan. Maaf lagi atas gangguan dan terima kasih!
Jessca Stone
Begitu saja kedengarannya seperti banyak hal yang berpotensi salah di sana; Saya benar-benar tidak dapat membantu Anda men-debug-nya di sini, tetapi mungkin saja seseorang dalam Obrolan Pengembangan Game mungkin dapat melakukannya, dan kadang-kadang Anda juga dapat menemukan saya di sana.
7

Saya akan mendekati ini menggunakan shader khusus pada SpriteRenderers saya yang mengambil dua tekstur, satu untuk setiap versi yang ingin Anda transisikan.

(Bahkan jika menggunakan efek ini untuk transisi antara lebih dari dua negara, saya masih akan mencoba untuk menyusun permainan jadi kita hanya perlu dua untuk merender pada satu waktu: keadaan lama dan keadaan berikutnya. Kita akan membiarkan permainan transisi itu dimainkan sampai selesai sebelum kita membiarkan pemain memulai transisi ke keadaan ketiga, di titik mana kita dapat mengganti keadaan "lama" kita sebelumnya karena tidak lagi terlihat)

Shader ini akan memudar secara lintas antara dua tekstur, menggunakan tekstur saluran tunggal ketiga sebagai penutup untuk efek (mis. Hitam = 100% kondisi lama, abu-abu = campuran 50/50, putih = 100% keadaan baru). Saya akan memetakan tekstur topeng ini di layar.

Lalu saya mengatur kamera kedua untuk membuat ke RenderTexture, untuk menghasilkan topeng ini. Kamera kedua ini akan bergerak dengan kamera utama saya dan cocok dengan ukuran FoV / ortografiknya, sehingga animasi apa pun dalam pandangan saya berlaku untuk dunia dan memperlihatkan topeng secara konsisten. Kamera ini akan ditampilkan di depan kamera utama saya, dan diatur untuk hanya melihat konten pada lapisan "pengungkap" yang ditunjuk khusus. Dalam contoh video, sepertinya mereka menggunakan sistem partikel untuk memercikkan kumpulan bentuk awan kecil ke dalam tekstur terbuka ini, yang meluas dari waktu ke waktu, memberikan transisi tepi penyebaran yang tampak organik.

DMGregory
sumber
Terima kasih atas jawabannya, saya akan mencoba ini dan kembali kepada Anda jika itu berhasil! Terima kasih sekali lagi!
Jessca Stone