L'objectif
de ce petit tutorial est de décrire les différentes subtilités et
manipulations liées aux lissages sous TSM. Cette première version est
limitée au problème de la reconstitution des lissage sur un objet qui a
été préalablement scindé.
L'objet du délit...
Nous
allons considérer un cylindre simple, ouvert à ses extrémités,
comportant une unique section, et 16 points par section. Ce cylindre fait 1 mètre de long et 20 centimètre de rayon. En temps normal, un tel cyclindre, si on lui applique le lissage usuel de TSM, présente une surface lisse.
Pour
différentes raisons, dont des contraintes de texturage par exemple, il
peut être nécessaire de scinder une telle forme. Si la forme était
lissée avant d'être scindée, les lissages sont alors interrompus au
niveau de la coupure. Ainsi, si le cylindre précédent est coupé en
deux, alors on se retrouve avec l'illusion d'une arête vive au niveau
de la coupure. Regrouper les deux parties, et réappliquer à l'ensemble
un rendu lissé n'y changerait rien.
C'est qu'en vérité, ces deux demi-cylindres ne sont pas du tout équivalents au cylindre d'origine:
- Le
cylindre d'origine comporte 16 polygones (au sens de TSM, avant
exportation, donc ici 32 après exportation), et 2x16=32 sommets qui
supportent ces polygones.
- Chaque
demi-cylindre comporte 8 polygones (au sens de TSM), et 2 fois 9
sommets. Au total, ils regroupent donc à eux deux toujours 16
polygones, mais en revanche ces polygones sont maintenant supportés par
2x2x9=36 sommets, soit 4 de plus que dans le cylindre d'origine.
Cette
différence dans le nombre de sommets est fondamentale pour comprendre
pourquoi les lissages ne sont pas reconstitués lorsqu'on regroupe des
parties qui ont été préalablement scindées. En effet, avant la
scission, deux polygones mitoyens partageaient certains sommets. En
revanche après la scission, les polygones situés de part et d'autre de
la coupure ne peuvent plus partager les mêmes sommets, qui se trouvent
dupliqués dans chacun des demi-cylindres.
Or, les lissages ne
peuvent être propagés entre deux polygones qu'au niveau où ils
partagent les mêmes sommets! La seule solution pour reconstituer les
lissages en pareil cas passe donc par la possibilité de re-fusionner
les points au niveau de la coupure!

Première étape: regrouper les deux parties
Pour
pouvoir fusionner des sommets, il faut que ceux-ci soient dans la même
partie. Nous allons donc commencer par joindre les deux
deux-demi-cylindres.Par contre, il faut prendre une petite
précaution avant de procéder à ce regroupement: nous allons éloigner
les deux morceaux. On applique donc une translation de 10 centimètres
vers le bas au demi-cylindre inférieur. On s'assure d'être bien en mode
"partie".
On
se retrouve donc avec deux demi-cylindre désormais éloignés l'un de
l'autre. Nous verrons l'intérêt de cette manipulation un peu plus tard.
Après avoir sélectionné les deux parties, il est alors facile de les joindre avec la fonction de jointure de parties de TSM.
Les deux demi-cylindre sont maintenant intégrés dans la même partie, toujours éloignés l'un de l'autre;
Nous
allons maintenant rétablir le lissage au niveau de la coupure. Pour
cela, nous allons donc vouloir fusionner les points concernés. Grace à
l'éloignement des deux demi-cylindres, nous verrons mieux l'effet de
notre travail, et nous pourrons mieux contrôler ce que nous faisons. Seconde étape: encore une petite précaution
Par
contre, il faut encore prendre une petite précaution avant de pouvoir
opérer: sous TSM, les manipulations se font surtout dans les trois vues
haute, face, côté. Dans ces vues, certains sommets ne sont pas visibles
ou se confondent. Ici par exemple, on voit que sur la vue de côté, en
bas à droite, les points des deux extrémités des demi-cylindres ce
confondent. Cela peut rendre certaines manipulations impossibles ou
conduire à des résultats inattendus. On passe en mode "point".
Nous
allons faire en sorte de pouvoir distinguer ces points en translatant
une des extrémités d'un mètre en hauteur. La fonction de translation
est très simple à appliquer une fois que les points choisis ont été
sélectionnés.
Voilà qui est fait. Les points que nous voyons sur la vue en bas à droite ne sont plus confondus les uns avec les autres.
Nous allons désormais pouvoir procéder à la fusion des points proprement dite.Troisième étape: rétablir le lissage en fusionnant les points
Tout
d'abord, nous allons sélectionner une des paires de points à fusionner.
Les points de cette paire sont naturellement situés de part et d'autre
de la coupure. Nous travaillons dans la vue de côté, en bas à droite.
Nous
avons sélectionné les points. Mais attention: il ne faut pas encore
procéder à la fusion. En effet, sur l'image, nous voyons que les points
sélectonnés apparaissent en jaune. Nous voyons en outre un point figuré
en blanc. Ce point blanc est le point actif courant. Si nous
appliquions la fusion maintenant, les trois points (les deux jaunes et
le blanc) seraient fusionnés, et le point résultant prendrait la place
du point actif courant... donc du point blanc. Or, ça n'est pas ce que
nous désirons faire: seuls les deux points en jaune doivent être
fusionnés!
Pour
obtenir l'effet désiré, il faut rendre un des deux points à fusionner
actif. Pour cela, on clique simplement dessus, ou on appuie sur la
touche "n" jusqu'à ce que l'un des deux points apparaisse en vert. De
préférence, on rendra actif le point qui appartient au demi-cylindre
qui n'a pas été translaté vers le bas. Ca n'est pas obligatoire, mais
ça aidera à procéder selon le même mode opératoire pour toutes les
fusions nécessaires.
Les deux points peuvent être fusionnés, soit avec la touche de raccourci "j", soit avec la fonction du menu correspondante.
Voilà: le point jaune a disparu, et a bien été fusionné avec le point actif vert. Attention: les deux points sont bien fusionnés et non pas seulement confondus. Si l'on comptait le nombre total de points maintenant, nous en trouverions 35 et non plus 36.
On applique la même procédure à la paire de points située de l'autre côté de cette extrémité.
Puis
on passe aux deux paires de l'autre extrémité, qui a été translatée en
hauteur. Il peut être nécessaire de recentrer la vue.
Les
quatre paires de points à fusionner sont désormais traitées, ramenant
le nombre de sommets à 32, comme dans le cylindre d'origine.

Quatrème étape: remise en place des éléments translatés par translations inverses
Pour
travailler plus facilement, nous avions appliqué des transtations pour
d'abord éloigner les deux demi-cylindre, puis pour réhausser une des
deux extrémités et éviter de confondre les sommets. Il faut donc
appliquer les translations inverses aux éléments concernés pour
redonner au cylindre sa fome d'origine!

Résultat
Voici
le résultat: la coupure n'apparait plus. L'aspect, est strictement le
même que celui du cylindre avant scission, de même que le nombre de
polygones et de sommets.

Remarque
Le
cas présenté est assez trivial. Il existe des cas plus complexes,
notamment lorsqu'un même sommet doit supporter des polygones dont
certains seulement doivent être lissés, et d'autre non. Cela pourra
faire l'objet d'une suite. Il faut aussi relever que si la fusion de
points est utile pour réappliquer un lissage, la séparation de parties
est très utile pour couper les effets de lissage là où ils ne doivent
pas s'appliquer!
La maitrise des lissage est essentielle pour qu'un modèle "prenne correctement la lumière" dans le jeu, et pour améliorer la précision visuelle et le rendu des volumes.
Sur
l'image ci-dessous, on peut voir deux versions du superbe attelage de
la TQ de notre ami Jimidi, qu'il m'a gentiment confié afin de le
monter sur la locomotive 169-002 de la DB. A droite, l'objet d'origine
est massivement lissé. A gauche, la même 3D a été retravaillée pour
permettre une application mieux contrôlée des lissages.

Par
ailleurs, la fusion ou la séparation de points est primordiale non
seulement pour la maitrise des lissage, mais aussi pour l'optimisaiton
des modèles. Lorsqu'on scinde des parties, on crée sans forcément s'en
rendre compte des points en surnombre. La fusion, si elle est
compatible avec les besoisn du lissage, est un moyen d'économiser des
sommets et de faciliter la digestion d'un modèle par MSTS!