top of page

C4D & Xpresso - Rigger une roue


Hello !

Premier tutoriel, on commence fort avec Xpresso.

Pour ceux qui ne connaissent pas Xpresso, il s'agit d'un système de lien entre les objets dans Cinema4D de manière à automatiser le plus possible les tâches. L'interface se fait de façon nodal, de gauche à droite. ça peut faire peur au début mais c'est bien pratique.

 

Ce que vous allez apprendre :

- Faire un setup simple entre un cylindre ( la roue ), son rayon et sa position dans un axe en utilisant Xpresso.

Etape 1 - Création de la scène

La première chose à faire, c'est de créer notre roue, ou en tout cas ce qui va servir de référence de roue.

Pour ça nous allons créer un cylindre. L'avantage du cylindre est de pouvoir récupérer l'information de son rayon.

L'information du rayon va nous être très utile, car bien sûr le bord externe de la roue ne parcourt pas la même distance en fonction de son rayon.

Petit rayon : 1tour=petite distance

Grand rayon : 1tour= grande distance

Scene de base

 

Etape 2 - Xpresso

Voilà, le setup est en place, on passe maintenant à la partie Xpresso.

Je mets un tag Xpresso sur le groupe qui contient mon cylindre car c'est lui que je vais déplacer le long de l'axe Z.

Je glisse mon objet cylindre ainsi que le groupe dans la fenêtre Xpresso.

Je mets mon groupe à gauche ( c'est lui qui gère le déplacement ) et mon cylindre à droite ( c'est lui qui doit tourner automatiquement de la bonne distance ).

Nous allons lier la position en Z du groupe avec la rotation en P du cylindre.

Comme vous pouvez le constater ça ne marche pas terrible.

C'est normal pour plusieurs raisons :

1 - je n'ai pas pris en compte les dimensions du cylindre

2 - je passe de coordonnées ( la position du groupe ) à des degrés ( la rotation de la roue )

Maintenant réfléchissons 2 minutes.

Eh oui, avec Xpresso il faut faire un peu de math ;)

Ici nous allons utiliser la formule de la longueur de l'arc de cercle, à savoir :

Longueur de l'arc = rayon x angle de rotation

Si je déplace mon groupe de X, il faut que mon cylindre tourne de la même distance d'arc.

-----------

Il faut donc introduire un Node Formule qui va nous permettre de calculer l'angle fait par le cylindre lors de son déplacement.

Nous connaissons :

Longueur de l'arc : c'est la distance parcourue par la roue. On va l'appeler Distance.

Le rayon du cylindre : on va l'appeler Rayon.

Nous cherchons :

L'angle ( en radians ) correspondant à la distance parcourue. On va l'appeler Rotation.

Rotation = Distance / Rayon

---------

J'applique également une négation car la roue va tourner dans le sens inverse de la translation.

J'applique le tout à la rotation P du cylindre.

Et voila, vous devriez avoir un graph qui ressemble à ceci.

Et une roue qui se comporte normalement comme celà.

En espérant que ce premier tuto vous ait plu.

J'attends vos remarques et suggestions pour le prochain.

D'ici là, amusez vous bien et expérimentez.

Quelques liens utiles pour les maths :

http://www.editions-petiteelisabeth.fr/calculs_arc_de_cercle.php

Posts à l'affiche
Posts Récents
Archives
Rechercher par Tags
Retrouvez-nous
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page