PDA

Voir la version complète : Avion en papier (Accélération+décélération).



AleXXi
08/12/2015, 20h56
Bonjour les amis,

Je suis en train d'animer des petits avions en papier...

La mise en place de la scène est très simple :

-Un modèle d'avion.
-Une spline trajectoire.
-Une spline trajectoire rail (si l'avion fait un looping).

https://i.gyazo.com/072fce45bf0f31d10ddbb6eff92a854e.png

Pour l'animation, il me suffit de faire varier la position sur la spline de 0 à 100% dans le tag "aligner sur la spline".

Bon jusque là pas de problème, mais l'animation est pour le moment très linéaire :sweatdrop:.


Donc voilà, pour faire accélérer l'avion dans les descentes et le faire décélérer dans les montées, je joue avec la courbe d'animation (position sur la trajectoire). Mais cette étape prend beaucoup de temps pour faire une animation très réaliste!

Donc ma question est simple, comment peut-on automatiser ce phénomène d'accélération dans les descentes et de décélération dans les montées ?

Si quelqu'un à une idée, je suis tout ouïe :sweatdrop:.

Merci.


Scène (env 2Mo): http://we.tl/2JlVEz4ZBL

yayaprod
08/12/2015, 22h58
Salut AleXXi,
Et si tu ajoutais de la dynamique : effecteur delay, effecteur turbulence/ventilation (accélération etc....) dans ton animation ? avec des cléfs uniquement dans les différentes phases ?
Yaya °)

miroof
08/12/2015, 22h59
Salut, tu as testé le module de ventilation, si tu mets un corps rigide avec les bonnes masses ? :D

AleXXi
09/12/2015, 02h11
Merci pour ces premiers éléments de recherche.

Le hic, c'est que j'y tient beaucoup à mes trajectoires (pour faire sortir et entrer les avions de points précis), et avec une ventilation ... mes petits avions vont voler dans tous les sens.

En gros, je voudrais que mes avions suivent les splines comme sur des rails de montagnes russes.

Demain, je ferai toutes sortes de tests, j'ai quelques pistes en tête mais je reste quand même grandement à l'écoute :icon_artist:

childerik
09/12/2015, 08h08
Plusieurs possibilités, mais la plus simple dans un premier temps, c'est de faire des images des images clefs différentes selon si l'avion descend, planne ou monte.
exemple, ta ligne droite jusqu'a ta boucle, et rapide puisque en descente, tu mets une premiere clefs à zéro de ton anim puis si tu veux que ton avion parcourt la distance en 2sec, tu vas à 60 sur la timeline tu mets ton avion au niveau le plus proche du bas de ta boucle, et tu enregistres ta clef.
ensuite pour ta 3 eme clef, tu te dis qu'il faut 1,5 seconde pour qu'il ailles jusqu'en chaut de ta boucle, tu vas donc à 105 (60+45) et tu enregistres ta clef et ainsi de suite.
Apres tout ca, tu peux bouger tes clefs pour ralentir ou accélérer ton avion, dans le menu Ligne temporelle pour donner une rondeur aux acceleration et ralentissement, à l'aide de courbe.
mais coupe deja bin ton anime en fonction de ton envie de temps. combien de temps va faire ton anime est determine le niveau d'images par seconde.

bon courage

AleXXi
09/12/2015, 12h00
Merci childerik, c'est certain que je vais procéder comme cela si je ne trouve pas d'autre solution :icon_grin: mais j'aimerai vraiment trouver un moyen d'automatiser le processus car c'est pas la première fois ni la dernière que je fais ce genre d'anim.

De plus, des avions en papier, je veux en animer beaucoup avec des vols de + ou - 30 sec :icon_arg:.

tabou
09/12/2015, 14h18
Si tu règles tes splines en interpolation adaptative la vitesse dépendra de la distance entre les points.
Il te suffit donc de créer plus de points dans les montées pour ralentir et moins dans les descentes pour accélérer, cela me semble plus rapide que de jouer sur les clés d'anim.
Tu peux utiliser la commande subdiviser pour ajouter plusieurs points simultanément sans déformer la trajectoire.

AleXXi
09/12/2015, 16h08
Merci Tabou, je n'y avais pas pensé et je vais essayer ça de ce pas :).
Et je crois que je vais abandonner les dynamiques pour le moment :icon_pleure:.

Floc
09/12/2015, 17h50
Un debut de piste.

Ce n'est pas du tout au point mais je n'ai vraiment pas le temps pour m'y pencher plus.

Ce que j'essaye de faire :

- A partir de la tangente au point courant déterminer l'angle de la pente
pour le moment la "formule" n'est pas au point. Si un matheux qui passe par la pouvait jeter un œil :whistling:

- A partir de la en déduire une valeur pour incrémenter la position sur la courbe.

- memoriser cette position pour l'utiliser comme valeur d'offset pour la frame suivante.
Mais je ne sais pas pourquoi je n'arrive pas à inserer ce nœud dans la boucle. Ca créé peut etre une boucle infinie
Du coup pour le moment c'est juste un noeud time qui drive l'offset.

Mais dans le principe ca devrait marcher.

Si je retrouve cinq minute j'essaierai de réparer le bouzin.
Si quelqu'un veut s'y pencher il est le bienvenue. :P

Floc
10/12/2015, 00h16
Bon voila une version ou au moins le principe fonctionne.
Maintenant il faudrait gérer le "monte ou descend",et probablement utiliser un nœud remap pour donner un peu de "progressivité" à l'effet.

Il y a deux userData sur le null.
Le premier c'est une vitesse minimum en pourcentage.
Le deuxieme c'est une facon de mettre en mémoire la position sur la spline car je n'ai pas réussi a utiliser le nœud memory.

AleXXi
18/12/2015, 09h49
Salut Floc,

Tout d'abord, un grand merci pour ton début de piste et désolé pour cette réponse tardive.
Par contre je ne te cache pas que les 2 noeuds Python dans le Xpresso me font plus peur qu'autre chose car je ne pige pas tout :icon_redface:. Néanmoins, vu qu'ils ont pas l'air d'être très compliqués, je vais sérieusement me pencher sur la question.

En attendant, et vu l'urgence, j'ai dépatouillé mon histoire d'avions en papier avec une méthode qui fait la blague en multipliant la cadence d'images par 5 avec des animations uniformes, puis je gère la vitesse à coups de remappage temporel sous after FX.

Mais ton fichier ne va pas partir aux oubliettes, et merci encore.