PDA

Voir la version complète : Trampoline avec corps souples et xpresso



lencho
20/07/2011, 19h38
Bonjour,

ce qui avais commencé comme un petit test finit en challenge... je m'explique.
Je voulais faire un trampoline sur lequel un objet dynamique pourrais rebondir sans image clefs.

Pour faire court j'ai suivit ce tuto (http://www.advancedgraphics.eu/article-effet-trampoline-avec-les-dynamiques-de-cinema-4d-studio-r12-59902377.html) mais je voulais faire un trampoline à l'horizontale sur lequel mon objet rebondirais beaucoup plus.
Je me suis tourné vers xpresso que je n'utilise pas souvent pour animer la tension du trampoline quand il y à collision entre les 2 objets. Voilà donc le tag xpresso appliqué à mon plan

http://img11.imageshack.us/img11/6223/xpressog.jpg

Bon j'ai compris le truc comme ça: à condition qu'il y ait collision entre la sphere et le plan le monoflop s'active avec un délais de quelques frames pour tendre l'objet dynamique les deux nœud math sont la car en sortie le monoflop renvoie "1" ou "0" et la tension reste à 1% donc j'ajoute un peut de valeur mais même en mettant 1 ou 2 dans add ça me met des 200 ou 300% donc je divise et au final mon plan varie entre 80% et 1% j'aurais préféré le faire varier entre 100% et 80% et mon xpresso peut surement être beaucoup plus propre je le poste donc ici si vous avec une idée pour l'améliorer. voilà la video

http://vimeo.com/26683209

Nanane
22/07/2011, 16h59
Attention, une propriété en pourcentage a une valeur entre 0 et 1,
0=0% et 1=100%
Si j'ai bien compris, a la sortie de ton monoflop, tu as soit 1, soit 0. et toi tu veux avoir soit 100% (donc 1), soit 80% (donc 0.8)
La méthode la plus simple c'est d'appliquer un range mapper (cartographie d'intervalle) a la sortie du monoflop.
tu indiques l'intervalle d'entrée comme étant 0 min et 1 max, et l'intervalle de sortie comme étant 0.8 min et 1 max. Le tour est joué ;)

Sinon réflexion mathématique (attention, du lourd :P) :
Quand tu as 0 a la sortie de ton monoflop, tu veux avoir 80% (donc 0.8), donc tu commences par lui ajouter 0.8 avec Math:Add
Le problème c'est qu'après, quand tu as 1 en sortie du monoflop, tu obtiens 1.8, soit 180% alors que tu veux 100%, soit 1.
parce que 1+0.8 = 1.8
Pour obtenir 1, il faut donc appliquer un coefficient à la sortie du monoflop avant l'addition, pour avoir :
(sortiedumonoflopxA)+0.8 = 1
équation simple : A= 1-0.8 = 0.2
Tu as ta solution, il faut multiplier la sortie du monoflop par 0.2 et ajouter 0.8 ensuite... ca va la tête ? sinon solution du dessus, le range mapper :p