Contrôleur d'expressions

Le contrôleur Expression vous permet d'utiliser des expressions mathématiques pour contrôler ces aspects d'animation : les paramètres d'objet, tels que la longueur, la largeur, la hauteur, ainsi que les valeurs de transformation et de modificateur, telles que les coordonnées de position d'objet.

Interface Procédures

Vous pouvez contraindre les valeurs en les basant sur les valeurs de contrôleurs d'autres objets appartenant à la scène.

Une expression est une fonction mathématique qui renvoie une valeur. 3ds Max évalue une fois l'expression pour chaque image d'une animation, générant des valeurs qui peuvent changer d'une image à une autre.

Vous pouvez affecter des expressions aux types d'éléments de scène suivants :

Elément de scène Contrôleur
Paramètres de création Tout paramètre de création numérique
Transformations Position [X, Y, Z]

Rotation X

Rotation Y

Rotation Z

Echelle [X%, Y%, Z%]

Modificateurs Tout paramètre modificateur numérique (y compris les paramètres de création)
Matériaux Couleurs [R, V, B]

Tout paramètre de matériau numérique

Remarque : Les contrôleurs d'expressions ne s'appliquent qu'aux composants individuels XYZ d'une rotation Euler. Vous ne pouvez pas affecter une expression à une rotation TCA ou à d'autres contrôleurs de rotation.

Procédures

Pour affecter une valeur constante à une variable :

  1. Sélectionnez le nom de la variable dans la liste Scalaires ou Vecteurs.
  2. Cliquez sur Affecter à constante.

    3ds Max ouvre une nouvelle boîte de dialogue.

  3. Dans la boîte de dialogue qui s'affiche, entrez la nouvelle valeur (ou, dans le cas d'un vecteur, les valeurs) de la constante, puis cliquez sur OK.

Pour affecter un contrôleur à une variable :

  1. Sélectionnez le nom de la variable dans la liste Scalaires ou Vecteurs.
  2. Cliquez sur Affecter à contrôleur.

    3ds Max ouvre la boîte de dialogue Choisir vue piste et affiche la hiérarchie de pistes. Elle contient des données semblables à la hiérarchie de la vue piste.

  3. Sélectionnez la piste associée à la variable, puis cliquez sur OK.

Exemple : pour créer une expression qui déplace une sphère dans un cercle précis :

  1. Créez une sphère dont le rayon = 15,0.

    La vue piste vous permet de créer le contrôleur d'expressions.

  2. Dans la fenêtre active, cliquez à l'aide du bouton droit de la souris sur la sphère et choisissez Editeur de courbes.
  3. Dans la liste hiérarchique, faites défiler le panneau déroulant jusqu'à la branche Objets et, si besoin, développez la branche Sphère01 pour rendre la piste Position de la sphère visible. Cliquez sur l'étiquette Position pour la mettre en surbrillance.
  4. Dans la liste hiérarchique, cliquez avec le bouton droit de la souris sur l'étiquette Position, puis choisissez Affecter contrôleur.

    3ds Max ouvre la boîte de dialogue Affecter contrôleur.

  5. Sélectionnez Expression Position dans la liste des types de contrôleurs, puis cliquez sur OK.

    3ds Max ouvre la boîte de dialogue Contrôleur d'expressions.

  6. Dans le champ Expression, remplacez l'expression par défaut par l'expression de position suivante :

    [100*cos(360*NT), 100*sin(360*NT), 0]

    L'expression détermine la trajectoire circulaire de la sphère. NT est une variable correspondant au temps normalisé. Un mouvement utilisant NT se produit exactement une fois par segment de temps actif, quel que soit le nombre total d'images dans l'animation.

  7. Cliquez sur Evaluer.
  8. Exécutez l'animation. La sphère se déplace en suivant un cercle placé à l'origine universelle (0,0,0). Le rayon de la trajectoire circulaire est de 100 unités.

Suite de l'Exemple : Changement du rayon du cercle

    Les deux valeurs 100 de l'expression de position ci-dessus spécifient le rayon. Pour modifier le rayon de la trajectoire circulaire, créez une variable symbolique représentant le rayon. La variable a une valeur constante qu'il est facile de modifier.

  1. Au besoin, rouvrez la boîte de dialogue Vue piste et Contrôleur d'expressions.
  2. Dans le champ Nom de la boîte de dialogue Contrôleur d'expressions, saisissez rayon. Vérifiez que Scalar est bien sélectionné, puis cliquez sur Créer.

    Le nom de la variable " rayon " apparaît dans la liste Scalaires de la boîte de dialogue.

  3. Cliquez sur Affecter à constante.

    3ds Max ouvre une boîte de dialogue intitulée "Rayon".

  4. Entrez 150 dans le champ Valeur, puis cliquez sur OK.

    La variable rayon prend la valeur 150.

    Vous pouvez ensuite intégrer la nouvelle variable dans l'expression.

Suite de l'Exemple : Remplacement de la valeur littérale par le nom de la variable

  1. Dans le champ Expression, remplacez 100 par rayon dans les deux occurrences. L'expression devrait maintenant être :

    [ rayon*cos(360*NT), rayon*sin(360*NT), 0]

  2. Cliquez sur Evaluer.
  3. Exécutez l'animation. La sphère se déplace en suivant un cercle placé à l'origine universelle (0,0,0). Le rayon de la trajectoire circulaire est de 150 unités.

Suite de l'Exemple : Mise en rotation de la sphère autour d'une boîte

  1. Créez une boîte carrée d'environ 40 unités de côté et animez sa position dans trois ou quatre images clés.
  2. Sélectionnez la sphère.
  3. Dans la boîte de dialogue Contrôleur d'expressions, entrez boxposn dans le champ Nom. Cliquez sur Vecteur, puis sur Créer.

    Le nom " boxposn " apparaît dans la liste Vecteurs, dans la partie inférieure gauche de la boîte de dialogue.

    Les noms des variables font la différence entre les majuscules et les minuscules et doivent être entrés entièrement en minuscules.

  4. Cliquez sur Affecter à contrôleur.

    La boîte de dialogue Choisir vue piste s'affiche. Elle représente la hiérarchie d'objets telle qu'elle apparaît dans la partie gauche de la fenêtre Vue piste — Feuille d'expo.

  5. Dans la liste hiérarchique, sélectionnez le contrôleur de position de la Boîte01, puis cliquez sur OK.
  6. Modifiez le champ Expression de manière à utiliser posb comme décalage :

    [rayon * cos(360*NT), rayon * sin(360*NT), 0]+posb.

  7. Cliquez sur Evaluer, puis sur Fermer.

    Rejouez l'animation. La sphère se déplace autour de la boîte selon une trajectoire circulaire et suit les mouvements de la boîte.

Interface

Conseil : Vous pouvez redimensionner la boîte de dialogue en faisant glisser une arête ou un angle.

Zone Créer variables

Nom
Nom de la variable.
Scalaire/Vecteur
Permet de sélectionner le type de variable à créer.
Créer
Permet de créer la variable et de l'ajouter dans la liste appropriée.

Vous devez entrer un nom et spécifier le type de variable avant de cliquer sur le bouton Créer.

Supprimer
Permet de supprimer la variable mise en surbrillance de la liste Scalaires ou Vecteurs.
Renommer
Permet de renommer la variable mise en surbrillance dans la liste Scalaires ou Vecteurs.

Sélectionnez tout d'abord la variable dans la liste ; le nom est alors placé dans le champ Nom. Modifiez le nom dans le champ Nom, puis cliquez sur Renommer ; le nouveau nom remplace l'ancien dans la liste.

Zone Paramètres de variable

Décalage repère
Contient une valeur de décalage. Un repère est égal à 1/4 800ème de seconde. Si une variable a une valeur de décalage de repère différente de zéro, cette valeur est ajoutée à l'heure courante.
Liste Scalaires
Répertorie les variables scalaires que vous avez créées. Les variables prédéfinies suivantes qui ont une valeur constante sont disponibles dans chaque contrôleur d'expressions et ne peuvent être ni supprimées ni renommées :
  • Fl'heure courante dans les images
  • NTle temps normalisé
  • Sl'heure courante en secondes
  • Tl'heure courante en repères
Liste Vecteurs
Affiche les variables vectorielles que vous avez créées.
Affecter à constante
Ouvre une boîte de dialogue qui vous permet d'affecter une constante à la variable sélectionnée.

Affectation d'une constante à une variable scalaire

Affectation d'une constante à une variable vectorielle

Affecter à contrôleur
Ouvre une boîte de dialogue Choisir vue piste qui vous permet d'affecter un contrôleur à la variable sélectionnée. La valeur du contrôleur est prélevée à l'instant courant auquel s'ajoute la valeur Décalage repère de la variable.
Fenêtre Expression
Affiche l'expression à évaluer. Il doit s'agir d'une expression mathématique correcte. Le résultat est soit un vecteur à trois valeurs pour une expression vectorielle (position, échelle ou point3), soit une valeur scalaire pour une expression flottante.
Fenêtre Description
Entrez éventuellement du texte décrivant l'expression. Par exemple, vous pouvez décrire les variables définies par l'utilisateur.
Liste de fonctions
Affiche une liste de fonctions de contrôleur d'expressions.

Dans cette liste, p, q et r représentent des valeurs ou des expressions scalaires, V et W des valeurs ou expressions vectorielles.

Enregistrer
Permet d'enregistrer une expression. Les expressions sont enregistrées en tant que fichiersdotés d'une extension .xpr.
Charger
Charge une expression.

Une expression enregistrée ne conserve pas les définitions ou valeurs des variables. Après le chargement, il convient de les redéfinir.

Déboguer
Affiche la fenêtre de débogage d'expressions.

Cette fenêtre affiche les valeurs de toutes les variables, ainsi que la valeur de l'expression. Lorsque vous modifiez les variables ou déplacez la glissière temps, elle est automatiquement mise à jour pour vous permettre de visualiser le résultat de l'expression. Les valeurs correspondant aux images (F), au temps normalisé (NT), aux secondes (S) et aux repères (T) sont également affichées.

Evaluer
Evalue l'expression pour chaque image de l'animation.

Il n'y a pas d'affectation explicite (opérateur = ou:=) comme c'est le cas dans un langage de programmation classique; l'affectation est implicite et progressive.

Si l'expression contient une erreur de syntaxe, un message d'erreur s'affiche. Ce message contient la première partie de l'expression. L'erreur se trouve sur le dernier caractère du message d'erreur. Il correspond souvent à l'erreur même, à moins qu'il ne s'agisse d'un problème de parenthèse ouvrante ou fermante manquante (ou de crochets, dans le cas de vecteurs). Dans ce cas, l'évaluation peut être poursuivie avant que l'erreur ne soit détectée.

Fermer
Ferme la boîte de dialogue Contrôleur d'expressions.