la nouvelle pub coca-cola... ou pas

Les projets en cours, les tests etc ...

Re: la nouvelle pub coca-cola... ou pas

Messagepar verbalinsurection » 19 Fév 2012, 02:13

Haaa vraiment pas mal ça !
Pas mal le goulot d'étranglement, mais vu ce que ça rend, ça donne vraiment l'impression que le débit est élevé alors que dans le verre ça bouge pas des masses ;)
Avatar de l’utilisateur
verbalinsurection
Administrateur du site
 
Message(s) : 1006
Inscrit le : 28 Mars 2008, 22:10
Localisation : Paris

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 19 Fév 2012, 03:42

Au début, ça gigotait tellement que l'eau ressortait presque du verre et j'avais animé un daemon "drag force" pour essayer de réduire l'effet. Mais là, g augmenté la gravité et du coup, les particules ont pris du "poids". G aussi mis un daemon "vent" juste avant le verre pour ralentir les particules. Et c peut-être ce daemon qui fausse la simulation et que tu as ressentit. Alors je vais essayer de l'enlever. Merci bcp.

N'hésitez pas à me dire si vous n'appréciez pas l'effet "goulot d'étranglement". Moi, je trouve que la dernière bulle n'est pas réaliste. Il faudrait que je retravaille son animation.

Sinon, à propos de scripts, j'ai enfin trouvé comment utiliser des variables globales (bon c'était dans l'aide mais g pas compris du 1er coup). Les variables globales permettent de retrouver une variable n'importe où dans le script (onSimulationBegin, onSimulationStep etc.), je vais vous donner un exemple:

Code : Tout sélectionner
def onSimulationBegin():
   scene.setGlobalVariableValue("test",0)      #On crée une variable globale du nom de "test" avec pour valeur 0 au début de la simulation

def onSimulationStep():
   test = scene.getGlobalVariableValue("test")   #On crée une variable locale (du mm nom) qui prend la valeur de la variable globale
   test += 1   #On augmente de 1 la valeur de la variable
   scene.message(str(test)) #On affiche la valeur de la variable
   scene.setGlobalVariableValue("test",test) #On donne à la variable globale la valeur de la variable locale

def onSimulationFrame():
   scene.setGlobalVariableValue("test", 0) #A chaque image, on remet la valeur 0 à la variable globale


Si on a une scène avec un substep fixe de 3, on aura ces messages:
1
2
3 <- fin de la 1ère image
1
2
3 <- fin de la 2ème image
1
etc.
Sans variable globale, impossible d'afficher ces messages. J'espère que ça vous sera aussi utile que pour moi.
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 19 Fév 2012, 23:10

Je viens de passer en medium resolution au lieu de passer directement en high. Et j'ai bien fait car j'ai un problème avec la mousse et les grosses bulles que je ne pouvais pas voir en low resolution: g mis une valeur pour la surface tension au 2 emitters: petites bulles et grosses bulles. Du coup, les grosses bulles forment des hameaux au lieu d'être éparpillées à travers les petites bulles. Je suis en train d'essayer une simulation avec une surface tension de 0 pour les grosses bulles mais, à mon avis, les grosses bulles vont se retrouver en bas ou en haut des petites bulles au lieu d'être éparpillées...
Alors je pense qu'une solution serait de ne pas séparer les emitters petites bulles et grosses bulles (j'adore la répétiton) mais de créer un 3ème emitters non compris dans la simulation et qui, à chaque nouvelle image aurait mémorisé l' "id" de certaines particules mousses, les supprimeraient pour les remplacer dans ce 3ème emitter. Puis, lors du 1er substep, les remettraient dans l'emitter mousse. Comme ça, visuellement, on dirait qu'il y a 3 emitters mais en fait, il n'y en a que 2 qui sont simulés et je pourrai faire les meshs pour les 3! Je vais donc essayer de scripter tout ça dès que je serai sûr que le surface tension à 0 ne marche pas pour les grosses bulles.

ps: je posterai mon script quand j'aurai fini mon animation.
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 20 Fév 2012, 04:07

Salut pingu. Essaie d'utiliser le daemon "surface tension" car dans la définition, il est dit qu'il ne prend pas en compte l'origine des particules. Ca pourrait résoudre ton problème car comme tu l'as dit, de mettre le surface tension à 0 pour un emitter bulle et pas l'autre, ca ne permettra pas des les éparpiller entre eux. -grand moment de solitude-
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 20 Fév 2012, 04:08

Ouais ouais je vais voir ça (quel niaiseux celui-là)
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 20 Fév 2012, 18:52

Ca marche comme je le souhaite avec le daemon "surface tension" (il a de la chance ce pingouin). Du coup, je comprend enfin à quoi sert ce daemon puisqu'il n'y a pas de différence entre changer la valeur surface tension directement dans l'emitter ou ajouter un daemon surface tension.
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 03 Mars 2012, 19:54

J'ai augmenté la résolution au maximum (300'000 particles contre 75'000 en medium resolution) et je n'en reviens pas comme je dois augmenter les substeps pour que les particles ne passent pas à travers le verre (200 substeps pour medium et là je suis à 500 substeps avec tjs des particles qui passent au travers). En +, j'avais augmenté de moitié le collision distance!
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar Krameur.mc.baret » 04 Mars 2012, 10:20

Ca passe à travers ta bouteille ou ton verre?
Avatar de l’utilisateur
Krameur.mc.baret
 
Message(s) : 493
Inscrit le : 09 Déc 2009, 10:03
Localisation : Perpignan

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 04 Mars 2012, 17:47

y'a des particules solitaires qui passe à travers la bouteille, ca c'est pas génant. Mais le problème venait des particules (que le foam) qui passaient entre le verre et les glacons quand ils sont au fond du verre. Ensuite le problème disparaît donc je vais garder les mm substeps.

Par contre, ma simulation freeze à certains moments (p-e parce que j'utilise en mm temps 3ds max) et quand je relance la sim depuis ces erreurs, les glaçons commencent à sortir du verre :x. Le mm problème que si je lance la simulation pls fois, les glaçons commencent à bouger n'importe comment à moins que je réinitialise les glaçons en tant que rigid body. Alors je vais faire 2 simulations: une avec peu de particules pour calculer la simulation des rigid body et une avec le max de particules mais avec les rigid body en cache.

edit: les glaçons ne sont sorti qu'une fois, p-e parce que j'avais modifié la scène et sauvegardé. Après, j'avais l'impression qu'ils commençaient à sortir mais c plutôt une sorte de bug graphique qui fait que de loin, on voit les glaçons traverser le verre mais quand on rapproche la vue au maximum, on voit que ce n'est pas le cas.
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

Re: la nouvelle pub coca-cola... ou pas

Messagepar pingu » 05 Mars 2012, 18:22

un truc bien emmerdant c qu'en changeant la résolution, il faut aussi changer le poids des glaçons pour qu'ils flottent à la bonne hauteur. Et si je me rends compte lors du calcul de la simulation que les glaçons sont trop lourds ou trop léger, je ne peux changer leur paramètre en cours de route mais tout recommencer la sim! Donc je crois que la seule solution est de faire 2 simulations.
pingu
 
Message(s) : 410
Inscrit le : 30 Oct 2008, 13:54

PrécédentSuivant

Retour vers WIP

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron