Saya mencoba untuk membuat efek dari ketebalan permukaan air dengan shader vertex-fragment.
Saya berada dalam lingkungan permainan 3D tetapi ini adalah tampilan gulir sehingga tampilan "2D".
Berikut ini adalah tutorial yang bagus untuk membuat efek seperti itu dalam 2D nyata menggunakan fragmen shader.
Tapi saya rasa ini tidak bisa digunakan dalam kasus saya. Untuk saat ini, saya hanya memiliki pesawat, saya menggunakan pembiasan.
Dan saya ingin menerapkan efek ketebalan air. Tetapi saya tidak tahu bagaimana melakukannya.
Saya tidak mencoba membuat deformasi air / perpindahan menggunakan titik untuk saat ini, ini bukan intinya.
Saya tidak tahu apakah itu mungkin dengan quad sederhana mungkin saya harus menggunakan objek seperti ini.
Berikut ini beberapa contohnya.
Saya tidak tahu bagaimana cara membuat efek ini.
Terima kasih banyak !
[ EDIT ] Menambahkan efek air Rayman untuk memiliki referensi efek yang lebih baik.
Jawaban:
Memiliki nilai dalam shader yang menentukan kebasahan. Lebih kecil dari 0 berarti udara, lebih besar dari 1 berarti air, dan di antaranya berarti meniskus.
Berikut ini beberapa kode semu:
Ini adalah yang paling sederhana yang bisa saya lakukan. Jika itu saya, saya akan melakukan sesuatu yang sedikit lebih rumit untuk antialias meniskus dan menerapkan lebih banyak pembiasan di sana atau sesuatu, tetapi saya tidak bisa memberi tahu Anda apa karena itu akan membutuhkan iterasi estetika. Juga, saya akan mewarnai dan mengaburkan sampel air. Tapi aku akan menyerahkan semuanya padamu.
sumber