Bagaimana cara membuat partikel 2D sebagai cairan?


45

Misalkan Anda memiliki cara yang baik untuk memindahkan partikel 2D Anda untuk mensimulasikan cairan (seperti air). Ada ide tentang cara merendernya?

Ini untuk game 2D, di mana perspektifnya dari samping, seperti ini . Air akan terkandung dalam kotak yang bisa dipecah agar jatuh dan berinteraksi dengan benda lain. Cara paling sederhana yang muncul di benak saya adalah menggunakan gambar kecil untuk setiap partikel. Saya tertarik mendengar lebih banyak cara memberikan air.

Jawaban:


28

Lihat bagaimana PixelJunk Shooter melakukannya (termasuk simulasi) dalam presentasi ini (PDF) di GDC2010.


Contoh PixelJunk Shooter Image


1
Tidak tahu PixelJunk ... benar-benar hadiah yang bagus. Terima kasih!
Lukas

Sebuah Link ke trailer :)
David Gouveia


Apa itu SPU, PPU, SPURS?
Martijn Courteaux

@ MartjinCourteaux: mereka adalah bagian dari CPU Sel PS3. Pikirkan mereka seperti GPU shaders, meskipun ada beberapa perbedaan utama.
Sean Middleditch

12

Jawaban George Duckett jauh lebih langsung dan disajikan dengan sangat baik jika Anda membutuhkan air yang sepenuhnya disimulasikan dalam permainan Anda. Untuk fisika air dangkal yang disimulasikan dengan akurasi minimal (kurang realisme, lebih menyenangkan), gambar ini memberi saya momen kejelasan yang luar biasa:

http://www.patrickmatte.com/stuff/physicsLiquid/


Sederhana dan menyenangkan! Tidak benar-benar berpikir untuk menggunakan langkah pasca-pemrosesan yang sederhana ... hanya ingin tahu apakah perangkat seperti iPhone akan menangani ini. Tampaknya menjadi titik awal yang baik. Terima kasih.
Lukas

Saya bisa menjamin pendekatan ini. Saya menggunakannya sekali dalam suatu proyek dan itu bekerja dengan indah. Tambahkan filter bevel dan Anda dapat memiliki meniskus yang bagus di gumpalan Anda juga.
scriptocalypse

Sangat keren! Tapi saya tidak yakin seberapa baik itu mengakomodasi karakter yang berjalan melewatinya. Itu akan mendorong semua bola ke satu sisi, bukan?
Maks

6

Atau, untuk pendekatan yang cepat dan mudah: Gunakan metaballs !

Metaballs 3d


5

Grant Kot telah menempatkan beberapa kode simulasi fluida-nya di Github dengan implementasi di javascript (kanvas) dan C ++ dengan OpenFrameworks: https://github.com/kotsoft

Dia memiliki beberapa demo di akun youtube-nya: http://youtu.be/HqWheJSEiaw

Saya tidak tahu cara kerjanya, tapi saya tahu ini berjalan cepat dan ada banyak variasi untuk membuatnya. Kata kunci yang baik untuk dicari mungkin "partikel multigrid".


Saya sangat suka bagaimana Grant Kot mensimulasikan cairan! Bahkan jika renderingnya minimal, setidaknya pada applet pada halaman web itu. Ini sebagai banyak parameter untuk mengontrol simulasi. Layak untuk dilihat lebih dalam. Terima kasih.
Lukas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.