Comment rendre les particules 2D sous forme fluide?

45

Supposons que vous disposiez d'un bon moyen de déplacer vos particules 2D afin de simuler un fluide (comme de l'eau). Des idées sur la façon de le rendre?

Ceci est pour un jeu en 2D, où la perspective est de côté, comme ceci . L'eau sera contenue dans des boîtes pouvant être cassées afin de la laisser tomber et interagir avec d'autres objets. La façon la plus simple qui me vienne à l’esprit est d’utiliser une petite image pour chaque particule. Je suis intéressé à entendre plus de façons de rendre de l'eau.

luke
la source

Réponses:

28

Découvrez comment PixelJunk Shooter l'a fait (y compris la simulation) dans cette présentation (PDF) à GDC2010.


Exemple d'image de tireur PixelJunk

George Duckett
la source
1
Je ne connaissais pas PixelJunk ... vraiment un bon pres. Merci!
Luke
Un lien vers la bande-annonce :)
David Gouveia Le
Que sont SPU, PPU, SPURS?
Martijn Courteaux
@MartjinCourteaux: ils font partie du processeur de la cellule de la PS3. Considérez-les comme des nuanceurs de GPU, bien qu’il existe quelques différences essentielles.
Sean Middleditch
12

La réponse de George Duckett est bien plus directe et très bien présentée si vous avez besoin d'eau parfaitement simulée dans votre jeu. Pour la physique simulée des eaux peu profondes avec une précision minimale (moins de réalisme, plus ludique), cette image m'a procuré un incroyable moment de clarté:

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

DaveStance
la source
Simple et sympa! Vous n'avez pas vraiment pensé à utiliser une étape de post-traitement aussi simple ... demandez-vous simplement si un appareil tel que l'iPhone va gérer cela. Cela semble être un bon point de départ. THX.
Luke
Je peux témoigner de cette approche. Je l'ai utilisé une fois dans un projet et cela a fonctionné à merveille. Ajouter un filtre de biseau et vous pouvez aussi avoir un beau ménisque sur vos blobs.
scriptocalypse
Super cool! Mais je ne sais pas à quel point cela conviendrait à un personnage qui y flâne. Cela pousserait toutes les sphères d'un côté, n'est-ce pas?
Max
5

Grant Kot a mis une partie de son code de simulation fluide sur Github avec des implémentations à la fois en javascript (canvas) et en C ++ avec OpenFrameworks: https://github.com/kotsoft

Il a quelques démos sur son compte youtube: http://youtu.be/HqWheJSEiaw

Je ne sais pas du tout comment cela fonctionne, mais je sais que tout se passe bien et qu'il y a toutes sortes de variantes à utiliser. Un bon mot-clé à rechercher pourrait être "particules multigrilles".

michael.bartnett
la source
J'aime beaucoup la façon dont Grant Kot simule les fluides! Même si le rendu est minimal, au moins sur l'applet de cette page Web. C’est comme beaucoup de paramètres de contrôler la simulation. Cela vaut la peine de le regarder plus en profondeur. THX.
luke