PDA

Voir la version complète : animer une autre sorte de manège



alinal
25/02/2020, 17h54
vidéo https://www.youtube.com/watch?v=9QFYthiaH9s



Il s'agit cette fois d'un swing ride en provenance de DAZ3D.com. Notez que je ne n'ai pas optimisé ni les lumières, ni le fond, ni les personnages puisqu'il s'agit d'un tuto sur xpresso.


Première nouvelle: on peut utiliser plusieurs fois le tag temps. La preuve, il est ici utilisé 3 fois:une fois dans le réglage de la vitesse de l'animation et deux autres fois pour le mouvement des sièges. Je l'ignorais, et je l'ai découvert en faisant des essais.


On pourrait appeler le swing ride chaises volantes. Faire tourner le manège n'était pas une grande difficulté. C'est au niveau des chaises que ça devenait compliqué.Elles sont censées s'élever par la force centrifuge au fur et à mesure de la rotation du manège. Deuxième difficulté, elles doivent se stabiliser à un certain angle.


On commence par la rotation
https://drive.google.com/file/d/1WVlPX5BIKUb_m8meDZ5hhv0JbdEP23zm/view?usp=sharing
on se sert de la sortie image que l'on multiplie (ici par 0,1) donc on aurait pu mettre une division pour régler la vitesse du manège. Rappel: la vitesse sous l'éditeur n'est pas la même qu'au rendu. Le manège tournant en sens inverse,on ajoute une négation. On applique ensuite cela à la rotation H de l'élément appelé top,


Là ça commence à se compliquer
https://drive.google.com/file/d/1uExRX9rktco_hspO4tJT-jQSgZ7hhfa0/view?usp=sharing
Pas de panique!


Que les sièges soient "habités"ou pas, ils subiront le mouvement de rotation, Il faut donc qu'ils soient tous programmés. Chance ils sont pas groupe de 2, donc une fois trouvé la valeur de l'un, on peut appliquer les mêmes valeurs à l'autre. C'est le siège impair qui est à l'extérieur.


La procédure est la même pour tous les sièges, donc je ne vais donner les explications que pour 1. A noter qu'il existe un copier/ coller dans xpresso mais qu'il "merdoie"quand il y a trop d'éléments.


https://drive.google.com/file/d/1nYXMlvui2Bciyp7749jem55h9sa6myhe/view?usp=sharing
on choisit un siège extérieur (donc impair) et manuellement à l'aide du gizmo rotation on le positionne tel qu'il se trouvera au maximum pendant la rotation (relevé des coordonnées HPB de l'interface).


Xpresso: la référence est l'image.C'est pourquoi on commence par une boite temps. Il va falloir transformer une échelle de 0 à 100 (image) en des angles pour les rotations HPB relevées précédemment.


On ajoute donc 3 boites de cartographie d'intervalle. Pour l’explication, j'ai mis des constantes reliées au entrées min et max, aux sorties min et max, mais on pourrait entrer les valeurs directement dans le gestionnaire d'attributs des boites de cartographie d'intervalle.


A noter que j'ai choisi arbitrairement que les sièges seraient à leur maximum à la 101ème image mais on peut changer le chiffre pour faire plus rapide ou plus lent.


L'entrée des boites cartographie d'intervalle est reliée à image de la boite temps et la sortie à une boite verrouiller. La boite cartographie d'intervalle transforme une échelle en aune autre. Le problème, c'est qu'elle continue la conversion en dehors de la plage fixée par sortie max si entrée maxva au-delà de la valeur fixée. A l'image 200, il y a aura toujours conversion et le siège risque de se retrouver à la verticale. C'est donc pourquoi je fais suivre d'une boite comparer et d'une boite verrouiller.


L'entrée 1 de la boite comparer est relié à la constante relevée manuellement pour H, P ou B; valeur max à atteindre, sachant que les valeurs au repos des sièges sont 0.
L'entrée 2 de la boite comparer est reliée à la sortie de la boite cartographie d'intervalle, qui est également reliée à valeur de la boite verrouiller.


Tant qu'on reste dans la plage normale,la valeur en sortie augmente progressivement et est transmise en sortie de la boite verrouiller. L'interrupteur doit être à 0. Quand on atteint la valeur max d'angle (fixé par la constante reliée à sortie max, le comparateur change d'état et envoie un 1 à la boite verrouiller qui conserve la valeur max en sortie et ne variera plus.


Il y a plusieurs possibilités pour le comparateur >-ou <= (à programmer dans le gestionnaire d'attributs). Pour savoir lequel est le bon, il suffit d'une boite résultat que l'on relie à sortie de comparer pour voir quel est l'état. Il doit être à 0 pour la zone 0 à 99 et à 1 pour la zone au-dessus de 101. Ça évite d'avoir à réfléchir pour savoir dans quel sens on doit faire la comparaison (je sais je suis un gros flemmard :sleeping:)


La sortie de la boite verrouiller est reliée à une boite degrés, avec le choix degrés ->radians car si l'interface de c4d affiche des degrés, j'ai eu la surprise de découvrir, après quelques recherches, qu'en xpresso il fallait que cela soit des radians.


Donc pour la rotation H d'un siège en particulier et sachant qu'au départ ils sont à 0, on reporte la valeur relevée en manuel dans la constante représentant sorite max.J'ai expliqué le reste de la chaîne et on pilote la rotation H du même siège.


Même procédé pour P et B


Le siège en duo aura les mêmes valeurs HPB


Donc il y a 8*3 valeurs à relever pour les 16 sièges. Il se peut qu'il faille apporter des modifications à la fin car perso, j'ai ajusté le siège un peu au pifomètre.


J'ai placé des personnages grossièrement pour 2 raisons: la première est pour voir ce qui se passe réellement quand on fait tourner le manège, la seconde est que cela me donne un ordre d'idée pour les remplacer plus tard par d'autres personnages qui seront tous différents.


J'ai un projet de fête foraine complète. Xpresso ne fonctionne pas avec la grande roue car les sièges sont parentés à la grande roue dans son ensemble et pas spécifiquement à une branche de la grande roue, ce qui fait qu'xpresso a du mal a savoir quel siège il pilote.


Je reste à votre disposition pour tout renseignement complémentaire.

alinal
28/02/2020, 16h47
Je viens de m'apercevoir qu'il y avait beaucoup plus simple qu'un comparateur et qu'un verrouillage puisque la boite clamp fait ça à elle toute seule.

alinal
01/03/2020, 09h38
Bon, pas doué :blushing: puisqu'il y avait des liaisons entre les mots et que la référence à la vidéo youtube ne fonctionnait pas. Je pense que c'est réparé. En ce qui concerne la boite clamp, elle peut remplacer comparer + verrouiller mais comme pour le comparateur il faut faire attention au sens de la comparaison selon que le max est positif ou négatif, pour la boite clamp, il faudra faire attention à quoi on relie le max.