¿Cómo renderizar partículas 2D como fluido?


45

Suponga que tiene una buena manera de mover sus partículas 2D para simular un fluido (como el agua). ¿Alguna idea sobre cómo renderizarlo?

Esto es para un juego en 2D, donde la perspectiva es lateral, como esta . El agua estará contenida en cajas que pueden romperse para dejarla caer e interactuar con otros objetos. La forma más simple que se me ocurre es usar una imagen pequeña para cada partícula. Estoy interesado en escuchar más formas de generar agua.

Respuestas:


28

Vea cómo PixelJunk Shooter lo hizo (incluida la simulación) en esta presentación (PDF) en GDC2010.


Imagen de muestra de PixelJunk Shooter


1
No conocía PixelJunk ... realmente un buen pres. ¡Gracias!
luke

Un enlace al trailer :)
David Gouveia


¿Qué son SPU, PPU, SPURS?
Martijn Courteaux

@MartjinCourteaux: son parte de la CPU de la celda de PS3. Piense en ellos como sombreadores de GPU, aunque hay algunas diferencias clave.
Sean Middleditch el

12

La respuesta de George Duckett es mucho más directa y muy bien presentada si necesitas agua completamente simulada en tu juego. Para la física simulada de aguas poco profundas con una precisión mínima (menos realismo, más juguetón), esta imagen me dio un increíble momento de claridad:

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


Simple y agradable! Realmente no pensé en usar un paso de procesamiento tan simple ... solo me pregunto si un dispositivo como iPhone manejará esto. Parece ser un buen punto de partida. Gracias.
luke

Puedo responder por este enfoque. Lo usé una vez en un proyecto y funcionó muy bien. Agregue un filtro de bisel y también puede tener un buen menisco en sus manchas.
scriptocalypse

¡Super guay! Pero no estoy seguro de qué tan bien acomodaría a un personaje que pasea por él. Empujaría todas las esferas hacia un lado, ¿no?
Max

6

O, para un enfoque rápido y fácil: ¡use metaballs !

Metaballs 3d


5

Grant Kot ha puesto parte de su código de simulación fluida en Github con implementaciones en javascript (canvas) y C ++ con OpenFrameworks: https://github.com/kotsoft

Tiene algunas demos en su cuenta de youtube: http://youtu.be/HqWheJSEiaw

No tengo idea de cómo funciona, pero sé que funciona rápido y hay todo tipo de variaciones para construir con él. Una buena palabra clave para buscar podría ser "partículas de cuadrícula múltiple".


¡Realmente me gusta cómo Grant Kot simula fluidos! Incluso si el renderizado es mínimo, al menos en el applet en esas páginas web. Es como muchos parámetros para controlar la simulación. Vale la pena echarle un vistazo más profundo. Gracias.
Luke
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.