L’ordre d’évaluation des données
L’une des fonctions les plus puissantes de CINEMA 4D est sa fonction de prévisualisation en temps réel (qui permet d’appliquer des déformations en temps réel dans une vue, par exemple).
Pour que cette fonction soit efficace, les différentes actions doivent être effectuées dans un ordre prédéfini.
Considérez l’exemple suivant : créez un cube, puis assignez-lui une expression appliquant une torsion au cube. Ensuite, assignez au cube un objet Incurvation. Comment l’application va-t-elle déterminer l’ordre des opérations avant d’afficher le résultat ? Doit-elle tordre le cube, puis le plier ou l’inverse ? Deux résultats différents sont possibles en fonction de l’action évaluée en premier.
Autre exemple : vous avez créé un objet animé du point A au point B. Mais vous avez également assigné à cet objet une propriété lui indiquant de se déplacer vers le point C. L’objet ne peut pas se trouver en deux endroits au même moment. Quelle est l’instruction qui va primer sur l’autre ? Il s’agit de la dernière instruction évaluée. Si l’expression est évaluée en premier, l’animation est prioritaire sur l’expression et l’objet finit son parcours au point B ; si l’animation est évaluée en premier, l’expression est prioritaire sur l’animation et l’objet finit son parcours au point C.
CINEMA 4D permet d’assigner des niveaux de priorité aux expressions, pour contrôler le moment exact d’évaluation de chaque expression.
L’ordre d’évaluation des données est un élément critique dans la construction d’un objet. Puisque, les données doivent être évaluées dans un certain ordre et qu’elles déterminent le tracé des objets à l’écran, nous allons nous référer au processus entier par les termes Ordre d’évaluation des données. Une fois que vous aurez compris le principe de l’ordre d’évaluation des données, vous pourrez prédire les résultats et résoudre vous-même les problèmes qui pourraient se poser !
Eléments
Les fonctions Utiliser l’animation, Utiliser les expressions, Utiliser les générateurs et Utiliser les déformateurs (voir plus bas) activent ou désactivent les éléments spécifiques à l’ordre d’évaluation des données. Lorsqu’un élément est désactivé, ses données ne seront plus évaluées dans la vue. Si vous désactivez les déformateurs, par exemple, tous les objets apparaîtront dans leur état non déformé.
Animation fait référence à toute donnée stockée dans la Ligne temporelle. Bien que les Expressions puissent animer un objet, elle sont traitées comme un type de données distinct.
Ordre d’évaluation
Les pistes sont évaluées du bas vers le haut dans la Ligne temporelle, à partir des objets parents. Les objets enfants (sous-objets) sont ensuite évalués en fonction de l’arborescence de hiérarchie ; pour afficher l’arborescence d’un groupe d’objets complexe dans le gestionnaire d’objets, ouvrez la structure entière en activant la commande Vue / Affichages des hiérarchies dans le gestionnaire d'objets.
Les expressions sont évaluées de la gauche vers la droite, telles qu'elles apparaissent dans le gestionnaire d'objets. Cela peut être fait, par exemple, au moyen de propriétés (par ex. XPresso, Python ou Pointer vers la caméra).
Elle donne des instructions à un objet. Avec une expression, vous pouvez par exemple changer la couleur de la texture d’une maison en fonction de la position de l’objet soleil.
Ordre d’évaluation
Les expressions sont évaluées de la gauche vers la droite, telles qu'elles apparaissent dans le gestionnaire d'objets.Les objets parents sont évalués en premier, puis, l’application continue l'évaluation en suivant l’arborescence ; pour afficher l’arborescence d’un groupe d’objets complexe dans le gestionnaire d’objets, ouvrez la structure entière en activant la commande Vue / Afficher les Hiérarchies dans le gestionnaire d'objets. Les objets sont évalués de haut en bas dans l’ordre affiché.
Les Générateurs sont des objets qui créent une goémétrie à partir d’autres objets. Par exemple, un objet Surface de subdivision génère un objet polygonal temporaire pour les besoins de l’affichage. Vous pouvez convertir l’objet temporaire en véritable objet polygonal si nécessaire avec la commande Convertir en objet polygonal.
Parmi les générateurs, on peut citer :
- tous les objets du menu ;
- le système de particules ;
- l'objet Répartition ;
- l'objet Symétrie ;
- les primitives polygonales ;
- les primitives splines ;
- les instances ;
- les metaballs, etc.
Ordre d’évaluation
Les générateurs sont évalués à partir des sous-objets, puis, l’application remonte dans l’arborescence ; pour afficher l’arborescence d’un groupe d’objets complexe dans le gestionnaire d’objets, ouvrez la structure entière en activant la commande Vue / Afficher les Hiérarchies dans le gestionnaire d'objets. Les objets sont évalués de haut en bas dans l’ordre affiché.
Utiliser les déformateurs
Les Déformateurs sont les fonctions listées dans le (voir Déformation) parmi lesquelles Explosion, Déformation libre, etc.
Un déformateur déforme l’objet (unique) auquel il est appliqué. La déformation est appliquée à une copie virtuelle de l’objet source, de façon à ce que la géométrie originale soit préservée et puisse toujours être restaurée. La fonction de Réduction de polygones procède de cette façon, et elle est donc considérée comme un déformateur.
La principale différence entre les expressions et les déformateurs est que les expressions sont traitées avant la création de la copie (virtuelle), alors que les déformateurs sont traités après la création de cette copie.
Les fonctions listées ci-dessus permettent d’activer ou de désactiver des éléments du pipeline du dessin (ceci peut également être effectué dans Projet presets). Si un élèment est désactivé, ses données ne seront pas évaluées dans l’éditeur. Si, par exemple, la commande Utiliser les déformateurs est désactivée, aucun objet ne sera déformé.
Ordre d’évaluation
Les déformateurs sont évalués à partir des sous-objets, l’application remonte ensuite dans l’arborescence ; pour afficher l’arborescence d’un groupe d’objets complexe dans le gestionnaire d’objets, ouvrez la structure entière en activant la commande Vue / Afficher les Hiérarchies dans le gestionnaire d'objets. Les objets sont évalués de haut en bas dans l’ordre affiché.
La fonction Peau, crée un objet polygonal temporaire pour les besoins de l’affichage (il s’agit d’un générateur). Imaginez que les splines qui décrivent l’objet Peau soient elles-mêmes déformées par plusieurs objets Déformation libre (déformateurs).
Si l’ordre d’évaluation commence au bas de l’arborescence pour remonter vers le haut, les objets Déformation libre (sous-objets des splines) ne pourront pas déformer les splines avant qu’elles aient été utilisées par l’objet Générateur.
L’ordre d’affichage
Nous avons étudié l’ordre selon lequel les éléments de même type de données sont évalués, mais quel est l’ordre d’évaluation pour les éléments de types différents ? Là aussi, l’ordre est strict :
- Premièrement, toutes les données d’animation sont évaluées.
- Ensuite, les expressions sont évaluées (si vous n’avez pas modifié les priorités).
- Enfin, et en priorité, les générateurs et déformateurs sont évalués.
L’évaluation des données se produit chaque fois que vous effectuez une nouvelle action dans CINEMA 4D. Grâce à ce système, il est possible, par exemple, d’appliquer une Expression Cible à un objet, puis, de le voir suivre automatiquement les mouvements de l’objet cible, pendant que vous déplacez celui-ci dans la vue. Vous pouvez travailler en temps réel avec les objets.
Permet d'activer ou de désactiver globalement pour la scène la nouvelle CI.
Permet d'activer ou de désactiver globalement pour la scène toutes les propriétés de contrainte.
Permet d'activer ou de désactiver globalement pour la scène toutes les options de symétrie définies pour les objets Articulation.
Cette option vous permet d’activer ou désactiver les cheveux de façon globale. Ceci s’applique à la visibilité dans la fenêtre de l’éditeur et au rendu.