Saya sedang mengerjakan game 2D grafis berbasis top-down yang terinspirasi oleh Dwarf Fortress. Saya pada titik menerapkan sungai di dunia game, yang mencakup sejumlah ubin, dan saya telah menghitung arah aliran untuk setiap ubin, seperti yang ditunjukkan di bawah ini oleh garis merah di setiap ubin.
Untuk referensi gaya grafis, inilah tampilan permainan saya saat ini:
Yang saya butuhkan adalah beberapa teknik untuk menghidupkan air yang mengalir di masing-masing ubin sungai, sehingga aliran menyatu dengan ubin di sekitarnya sehingga tepi ubin tidak terlihat.
Contoh terdekat yang saya temukan dengan apa yang saya cari dijelaskan di http://www.rug.nl/society-business/centre-for-information-technology/research/hpcv/publications/watershader/ tapi saya tidak cukup pada titik mampu memahami apa yang terjadi di dalamnya? Saya memiliki cukup pemahaman tentang pemrograman shader untuk menerapkan pencahayaan dinamis saya sendiri tetapi saya tidak bisa memahami pendekatan yang diambil dalam artikel terkait.
Bisakah seseorang menjelaskan bagaimana efek di atas tercapai atau menyarankan pendekatan lain untuk mendapatkan hasil yang saya inginkan? Saya pikir bagian dari solusi di atas adalah tumpang tindih ubin (meskipun saya tidak yakin di mana kombinasi) dan memutar peta normal yang digunakan untuk distorsi (sekali lagi tidak tahu secara spesifik) dan melewati itu saya agak kehilangan, terima kasih untuk ada bantuan!
Jawaban:
Saya tidak memiliki ubin yang terlihat bagus dengan distorsi, jadi inilah versi efek yang saya ejek dengan ubin Kenney ini sebagai gantinya:
Saya menggunakan flowmap seperti ini, di mana merah = aliran ke kanan dan hijau = ke atas, kuning menjadi keduanya. Setiap piksel terkait dengan satu ubin, dengan piksel kiri bawah menjadi ubin di (0, 0) di sistem koordinat dunia saya.
Dan tekstur pola gelombang seperti ini:
Saya paling akrab dengan sintaks gaya hlsl / CG Unity, jadi Anda harus mengadaptasi shader ini sedikit untuk konteks glsl Anda, tetapi harus langsung dilakukan.
sumber