Briser leur lien ou joindre des sommets

Dans ce didacticiel, les démonstrations portent dans tous les exemples sur les "couleurs par sommet" mais les mêmes règles s'appliquent aux textures. Si l'on utilise ce didacticiel pour les textures on remplace le mot color par texCoord.

Supposons qu'on veuille briser le lien du sommet choisi (point rouge) d'un triangle avec les autres triangles.


cela peut se faire en cliquant le bouton break coord join (briser l'union des coordonnées)

Après brisure d'une union des coordonnées on peut cliquer-tirer le sommet de ce triangle loin des autres sommets auxquels il était joint avant.



Puisque ce sommet n'est plus joint aux autres, il devrait être possible de changer sa couleur en étant certain de ne pas toucher à celle d'aucun des autres.

Supposons maintenant que nous voulons joindre le sommet choisi (point rouge) de la figure ci-dessus au sommet choisi ensuite (point rouge) dans la figure ci-dessous :

Pour faire cela nous devons d'abord choisir le sommet qui comporte les bonnes coordonnées (et peut-être aussi la couleur) dont nous avons besoin puis cliquer copy (copier)

On choisit ensuite le triangle et le sommet que l'on veut modifier comme ci-dessous :

et l'on y colle les coordonnées que l'on vient de copier dans le sommet précédent.


Quand on colle des coordonnées, on fait face à de nombreuses options du menu paste coord (collage de coordonnées) :



Si l'on choisit paste/coord/move (coller coordonnées déplacement) seules les coordonnées sont collées. Puis le sommet se déplace vers ses nouvelles coordonnées. Toutefois, si l'on clique-tire ce sommet, il suit le mouvement parce qu'il n'a pas été joint aux autres sommets, il s'est seulement déplacé (moved), de même la couleur est restée indépendante.
Pour faire en sorte que ces sommets soient joints il faut choisir une de commandes join (de jointure), telle que paste/coord/join coord  

Notez dans la figure ci-dessous qu'après cette commande, bien que les coordonnées ...

soient maintenant jointes (on s'en assure, si l'on clique-tire le sommet marqué de rouge) la couleur de ce sommet reste indépendante de celle des autres, et ce malgré la jointure. Ceci, parce que nous avons choisi le bouton join coord qui a joint les coordonnées mais non la couleur. Pour que la couleur soit jointe en plus des coordonnées, il fallait choisir le bouton paste/coord/join coord & color (coller coordonnées jointure coordonnées & couleur) qui aurait entraîné le résultat suivant :

c'est à dire le retour à notre point de départ.
L'idée est la suivante : nous avons collé les coordonnées et la couleur dans un sommet qui, par conséquent, se déplace jusqu'à la position et prend la couleur du sommet qui a été préalablement copié.
Il est cependant possible pour un sommet d'adopter les coordonnées qu'on lui impose, mais, contrairement à ce qu'on vient de faire, transmettre sa propre couleur dite opposite color (couleur opposée) aux sommets auxquels il est rattaché. Pour cela on utilise la commande paste/coord/join coord and opposite color (coller coordonnées jointure coordonnées & couleur opposée). On obtient alors le résultat suivant :

Résumé :

break join/coord (briser l'union des coordonnées) copy (R) (recopier) le sommet

Joindre à nouveau en collant les coordonnées à l'aide d'une des 3 commandes pour obtenir les résultats suivants :

join coord (joindre coordonnées) join coord and color (joindre coordonnées et couleur) join coord and opposite color (joindre coordonnées et couleur opposée)

Briser le lien et joindre seulement la couleur

Supposons 6 triangles joints par le sommet choisi (point rouge) comme ceci :



Ils sont joints à la fois par leurs coordonnées et par la couleur. Ceci veut dire qu'ils partagent une couleur commune. Il en résulte que si nous copions et collons une nouvelle couleur sur ce sommet, ou si nous changeons sa couleur à l'aide des boutons de couleur nous verrions changer la couleur de tous ces triangles qui partagent le sommet choisi :

Si nous voulons que les coordonnées soient jointes mais que le sommet du triangle choisi ait sa propre couleur indépendante nous pouvons l'obtenir en brisant d'abord le lien du sommet avec la commande break join/coord (briser le lien des coordonnées) puis le joindre à nouveau en coordonnées mais sans joindre la couleur.
Cependant il est bien plus facile de choisir seulement la commande break join/color (Briser le lien de la couleur) car de cette façon on brise le lien de la couleur en laissant celui des coordonnées intact.

Si, après avoir brisé le lien de la couleur, nous changeons la couleur du sommet choisi (point rouge) dans le triangle choisi aussi (trois points rouge vert bleu) nous voyons ceci : et si maintenant nous nous intéressons à ce sommet ainsi qu'au triangle adjacent, comme cela :

et que nous voulions qu'il soit joint en couleur au triangle que nous avions changé précedemment :

Il faut choisir le sommet et ce triangle précédent, puis ensuite le copier , et maintenant choisir le sommet du nouveau triangle (il suffit de cliquer pour choisir un autrer triangle)

pour enfin choisir la commande paste/color/join (coller couleur joindre) ce qui doit donner le résultat suivant :



Si d'aventure nous voulions ensuite changer la couleur de ce sommet, peu importe quel triangle sera choisi, nous verrons maintenant la couleur changer pour les deux triangles :

 

ceci du fait que ces deux triangles partagent le même élément : ils sont tous deux joints en couleur tout en restant indépendants en couleur des quatre autres triangles. Ils sont également joints en coordonnées. Est-ce important? Oui.

Si des sommets sont joints à d'autres par les coordonnées, mais non par les couleurs, alors que leur couleur est la même, cela peut être du gaspillage. Non seulement les fichiers seront plus lourds qu'ils ne devraient l'être, à cause des couleurs répétées, mais aussi parce que, à l'insu de l'utilisateur, des sommets supplémentaires seront créés parce que la matériel, pour autant que je sache, ne peut pas exécuter le rendu de triangles qui partagent des coordonnées indépendantes de la couleur. Or il est facile d'éviter pareil gaspillage à l'aide de la commande paste/color/join matching in all parts (coller couleur joindre correspondance dans toutes parties).


Cette commande joint simplement les couleurs des sommets aux autres couleurs des sommets si ces sommets sont porteurs des mêmes couleurs et s'ils sont déjà porteurs des mêmes coordonnées. De sorte qu'elle peut paraître lente pour des modèles composés de nombreux trinagles, mais elle ne doit être demandée qu'une fois, c'est une commande globale pour toutes les Parties, et elle fait en sorte que le résultat final - le rendu en temps réel - soit rapide.

Notes
Briser la jointure des coordonnées brise aussi logiquement celle de la couleur, en revanche il est possible de briser le joint de couleur sans toucher aux coordonnées.

Plusieurs triangles peuvent être joints par un seule coordonnée, mais ceci n'implique pas que ces triangles partagent la couleur du sommet qui les unit. Chaque triangle peut comporter un sommet joint (aux autres) qui possède sa propre couleur indépendante. De plus, il est possible que cette couleur indépendante soit partagée par plusieurs triangles.

Quand nous utilisons la commande paste/color/join (coller couleur joindre) nous pourrions penser qu'il s'agit de joindre les couleurs mais non les coordonnées. Toutefois il convient de remarquer que cette commande présuppose que les coordonnées des sommets sont déjà jointes, la fonctionnalité de la commande paste/coord/join coord and color (coller coordonnées joindre coordonnées et couleur) est identique à celle de paste/color/join (coller couleur joindre).



Copyright© 2000-2006 Graham Perrett thyme@seamless3d.com
traduction Matthieu