Page 1 sur 2

mercury style

MessagePublié: 11 Juil 2013, 16:16
par pingu
Bonjour,

Je voulais me lancer dans un "petit" projet avant de terminer mon autre projet (coca-cola) et ça part directement en cacahuète: je voudrais reproduire l'effet du mercure quand il se regroupe, les effet d'ondulations comme dans le film terminator 2 (sauf qu'à cette époque, 1991, l'effet a été filmé en réel à part quand le robot se forme).

Pour référence, j'ai la vidéo de terminator 2 et une vidéo en cgi faite avec realflow (j'en suis presque sûr car le studio l'utilise):

terminator 2:


les images de synthèses, à partir de 0:29:

Re: mercury style

MessagePublié: 12 Juil 2013, 02:01
par pingu
pour détailler un peu plus ce problème d'ondulation: je voudrais que quand 2 "flaques" de mercure se rencontrent, cela crée des ondulations, comme dans la réalité (voir la 1ère vidéo, surtout à la fin).

Mais dans realflow, ces ondulations n'apparaissent pas ou sont très très petites et quand on crée le mesh, pour peu qu'on le lisse un peu, les détails disparaissent.

Heureusemnt, une des 2 personnes qui a créé la 2ème vidéo que j'essaie de reproduire m'a répondu et m'a dirigé sur une page où on explique en gros comment ces effets d'ondulations sont créés (http://www.joshclos.com/2012/12/11/2012 ... tion-reel/).

Donc l'idée, c'est d'utiliser les informations de vélocité des particules pour créer un mesh qui aura une hauteur plus haute là où les particules ont une plus grande vélocité. Pour cela, il utilise un plugin que je n'ai pas. C'est pourquoi je pense faire un script dans realflow. Plutôt un batch script qu'un script event (car si je modifie la hauteur des particules pendant la simulation, ça ne marchera pas et ça prendrait bcp de temps) comme cela, je fais une 1ère simulation normale puis une 2ème avec l'emiter en cache et un deuxième emitter qui sera une copie du 1er mais avec seulement les particules qui ont une haute vélocité et qui seront transformé par le script pour avoir une hauteur un peu plus grande. Il faudra une fonction sinusoïdale quelque part pour avoir cet effet d'ondulation et aussi pour que le 2ème emitter soit plus haut que le 1er mais sans avoir une marche d'escalier, il faut que ce soit lissé. Je pense aussi qu'avec ce genre de solution, les ondulations pourront être plus haute que le 1er emitter mais ne pourront pas être plus basse à moins de supprimer des particules du 1er.

Pour l'instant, j'ai fait une scène dans rf et essayé de faire ressortir au mieux les ondulations (qui sont en fait la vélocité des particules. Vue de côté, il n'y a qu'une petite hauteur en plus pour la première vague, ondulation. Mais entre la 1ère et la deuxième vague, il n'y a aucune différence de hauteur)


Image
Image

Re: mercury style

MessagePublié: 12 Juil 2013, 03:24
par pingu
je remarque que plus il y a de surface tension (ce qui est indispensable pour simuler le mercure), plus la vélocité des particules est difficile à voir. Ce qui est logique mais gênant pour mon projet: on voit que la 1ère vague est déja moins blanche mais la 2ème vague a carrément disparue avec une surface tension élevée.

Image

Re: mercury style

MessagePublié: 20 Juil 2013, 14:42
par pingu
Voilà, j'ai fait un script qui change la vélocité des particules (la vélocité maximum est divisée par 2 sur chaque image. Si une particule a une vélocité supérieur à la moitié de la particule la plus rapide de l'image, elle aura la vélocité de la particules la plus rapide divisé par 2. Avec une vélocité maximale de 2. Ceci afin de contrer les instabilités de la simulation) et qui change la hauteur des particules en fonction de la vélocité pour qu'on puisse voir les vagues:



Re: mercury style

MessagePublié: 23 Juil 2013, 14:00
par Krameur.mc.baret
Salut !

Dsl j’étais en vacances, donc je me suis un peu déconnecté.
Sympa ton WIP, en le rendu final ca donne quoi?

Re: mercury style

MessagePublié: 24 Juil 2013, 00:13
par pingu
Salut!

Là, c'était un test avec 50'000 particules. Je suis en train "d'essayer" de faire une simulation avec 600'000 particules pour avoir plus de détails dans les vagues mais je rencontre un problème: au bout d'environ 200 frames simulées (4h de sim), j'ai un message d'erreur: "the action requested cannot be completed because of memory problem". Mais je ne crois pas que ce soit la mémoire le problème, plutôt un bug dans realflow parce que je n'utilise que 500 mo de mémoire. C'est plutôt lors de la création des meshs que realflow utilise un max de mémoire. D'ailleurs, je vais essayer d'utiliser frost ou xmesh pour créer les meshs.

Je pense que le bug apparaît lorsqu'on utilise un daemon surface tension avec l'option "balanced" set to yes et bcp de particules (parce que avec 50'000 j'avais pas eu ce problème). Mm si j'essaie de reprendre la simulation, elle s'arrête tjs à la mm frame. Et si j'augmente le strength du daemon, je pensais que le problème apparaitrait plus tôt mais c'est le contraire, il apparaît plus tard. Alors j'ai enlevé l'option balanced et la simulation a pu continuer mais du coup, le daemon est bcp plus puissant.

Mm si le problème disparaît, je serai tjs embêté parce que sans l'option balanced, les particules ont tendance à se mettre en boule et je voudrais avoir seulement une couche de particules.

Re: mercury style

MessagePublié: 24 Juil 2013, 08:29
par Krameur.mc.baret
Tu es sur qu'elle version de RF?

Re: mercury style

MessagePublié: 25 Juil 2013, 01:18
par pingu
Je suis sur rf 6.0.2.0085 et j'ai aussi essayé sur rf 5.

Mais là, j'ai enlevé le daemon surface tension, recommencé la sim depuis le début et ja'i tjs le mm message d'erreur. Donc ça doit venir de mon pc. En ce moment, je ne l'ai pas o/c. Je viens de finir d'enlever la poussière. Y'en avait tellement qu'il chauffait autant que quand il était o/c. Par contre, j'ai pleuré pendant 6h, il ne démarrait plus. C'était parce que j'avais vissé trop serré le ventirad... super cette carte mère, très bonne qualité (ironie).

J'espère qu'en ayant enlevé la poussière, la sim finira sans message d'erreur, on peut rêver. Sinon, il ne me reste plus qu'à mettre mon pc à la poubelle parce que la sim que je fais est basique: un emitter, daemon gravity, noise field, 4 wind, kvolume, 1 plane. Y'a juste 600'000 particules

Re: mercury style

MessagePublié: 25 Juil 2013, 10:59
par Krameur.mc.baret
Et ton script dans tout ca, tu l'utilises quant? L'erreur pourrait pas venir de lui?

Re: mercury style

MessagePublié: 25 Juil 2013, 19:47
par pingu
salut,
je n'ai pas encore utilisé le script... Je suis au bout du rouleau! J'ai pratiquement tout remis par défaut à par la résolution de l'emitter. J'ai mm remis mes hdd en IDE au lieu de AHCI. J'ai recréé x fois la scène depuis le début (pas difficile, j'ai pratiquement rien dessus). J'avais formaté mon disque y'a 1 mois donc je pense que ça ne sert à rien de le refaire. Tjs la mm erreur: "the action requested can't be completed because of a memory problem."

:x :x :x :x :x :x :x :x :x :x

Là j'essaie de simuler avec 2x moins de particules parce que je ne me souviens pas être monté aussi haut dans la résolution (120). D'ailleurs, je ne crois pas avoir simulé 6*10^5 particules SPH mais c possible bien sûr. Peut-être que je pourrais te passer la scène, le flw pour que tu la testes. Mais chez moi, le problème apparaît après 1h20 et j'aimerais simuler le double d'images pour être sûr que le problème vient bien de mon pc donc je comprendrais que tu n'aies pas le temps.

...voilà, la sim avec 2x moins de particules vient de se terminer après 40 min et la mm erreur...
...particules/4: mm problème, après 20 min de calcul.
...particules/24, 70'000 particules: ok (quand mm)