How to Make a Seamless Heart
Comment faire un Coeur avec Seamless
Par Bumpy, traduction de Matthieu

Fabriquer un coeur avec Seamless3d pour la Saint Valentin est vraiment très facile.

Note du traducteur : ce didacticiel pourrait paraître fastidieux, tant il entre minutieusement dans chaque détail. Pourquoi pas "tenez la souris entre le pouce de votre main droite et les trois derniers doigts de la même main, index en l'air" non je plaisante, c'est presque ça. Mais pour le débutant absolu (chacun l'est, un jour ou l'autre) il est parfait. Bumpy entre dans chaque détail, et, comme le professeur de piano qui me sert souvent d'exemple, il pose ses doigts sur les vôtres pour surveiller la position de votre main sur le clavier... c'est comme ça qu'on commence et c'est le secret du progrès. Ne vous lassez pas, ce didacticiel est parfait (bis). Bien sûr, ma traduction l'alourdit encore avec ses mots clés en gras et ses traductions en italiques. Ne vous plaignez pas, en plus, vous apprenez un minimum d'anglais :o)) fin de note.

L'Idée de Base

Commencez avec une forme simple qui fera une bonne base pour la forme du coeur, quelque chose comme une toupie sans sa poignée. Puis modifiez cette forme de base en utilisant la scale (l'échelle) et le tug (tracteur de collines) jusqu'à ce que vous obteniez une forme de coeur.
Parce qu'il faut une transition douce entre les deux lobes en haut du coeur il est plus facile de faire d'abord une moitié droite. La moitié gauche sera ensuite une simple copie en miroir de la droite.

(Vue de haut ; 1 - changez l'échelle sur l'axe des z ; Vue de face ; 2 - tractez le lobe vers le haut ; 3 - faites une copie en miroir selons l'axe des x)

Instructions pas à pas

1.  Créez un nouveau fichier smls

i.    Lancez Seamless

ii.   Créez un nouveau fichier appelé heart (coeur) :
  • Amenez le curseur de la souris en haut à gauche de l'écran 3d pour faire apparaître le menu principal
  • Choisissez file -> new (nouveau fichier)
  • Naviguez jusqu'au fichier où vous voulez sauvegarder votre coeur seamless
  • Ecrivez heart (coeur) dans la boîte File name (nom de fichier) et cliquez le bouton Save (sauvegarder)

iii.  Affichez l'arbre logique de scène et le panneau de commandes :
  • choisissez scene tree (arbre logique) dans le menu principal

Remarquez que Seamless a automatiquement ajouté quelques Noeuds dans l'arbre logique de scène. Le gros point noir est le Noeud Scene (Scène), le Hopzog jaune et rouge est le Noeud Seamless, le triangle coloré est le Noeud ColorEffect et le petit os blanc est le Noeud Part (Partie).

Vous pouvez cliquer sur n'importe quel Noeud de l'arbre logique pour le choisir et faire apparaître son Control Panel (panneau de commandes) avec ses valeurs ajustées.

2. Créez le squelette des Noeuds Parties

Un Noeud Part (Partie) contient les triangles qui forment la surface d'une forme 3d. On fait le coeur en une seule Partie et c'est celle qui a été ajoutée automatiquement par Seamless3d dans l'arbre logique lorsque le nouveau fichier point smls a été créé.

i.   Appelez cette Partie 'heart' (coeur) :
  • Cliquez sur la partie droite du Noeud Part dans l'arbre logique et inscrivez le nom "heart"

Le mot "heart" (coeur) peut maintenant être utilisé en référence à cette Partie quand on en préparera la forme.
    Note du traducteur : on a pris le parti de conserver les mots clés en anglais. Il est bien évident qu'ici dans le cas particulier, on aurait pu écrire "coeur" au lieu de "heart", mais par souci d'homogénéité de la démarche, on s'en tient à la règle. Chacun fera ce qu'il voudra.

3.  Créez les Noeuds constructeurs Stem et SurfaceGenerator.

Un Noeud build (constructeur) est utilisé pour créer et modeler les triangles dans un Noeud Part (Partie).

Note (de l'auteur) : si vous avez ajouté un Noeud par erreur, effacez-le simplement d'un clic droit et choisissez "delete" (effacer) dans le menu affiché.

i.   Ajoutez un Noeud Stem (tige) pris dans la liste de construction de Seamless (verticale à droite) :
  • Clic droit sur le Noeud Seamless puis dans le menu affiché choisissez paste->build->new->Stem
    (collez -> constructeur -> nouveau -> Tige).

Le Noeud Stem (tige) sert à générer une grille de triangles qui forme la surface d'une Part (Partie). Cette surface peut être ensuite remodelée en la forme voulue en utilisant des Noeuds surface generator

ii.  Ajustez la Stem (tige) pour utiliser le Noeud Partie :
  • Cliquez droit sur la Partie heart et choisissez copy (copier).
  • Cliquez droit sur le Noeud Stem et choisissez paste->part->USE heart
    (collez -> Partie -> UTILISEZ coeur).

Un Noeud SurfaceGenerator peut contenir des Noeuds generator (générateurs) qui modifient successivement la forme de la surface, c'est à dire le maillage de triangles créée par le Noeud Stem (tige).

iii.  Ajoutez un SurfaceGenerator au Noeud Stem :
  • Cliquez droit sur le Noeud Stem et choisissez paste->surface->new->SurfaceGenerator
    (collez -> surface -> nouveai -> Générateur de surface)

iv.  Sauvegardez les changements apportés au fichier point smls :
  • Amenez le curseur de la souris en haut à gauche de votre écran pour faire apparaître le menu principal
  • choisissez dans le menu file->save (fichier -> sauvegardez)

4.  Modelez la forme de base.

Un Noeud lathe (tour) permet de définir le profil d'une forme comme si l'on tournait une pièce de bois dans un tour à bois. Ici, on utilise le Noeud BezierLathe (tour de Bézier) pour créer une forme simple qui sera une base, un bon point de départ pour le coeur. Le profil de cette forme de base du coeur est défini avec soin par un ensemble de points dits control points. Ces points de contrôle "tirent" le profil de la courbe vers la forme voulue.

i.    Ajoutez un Noeud BezierLathe au Noeud SurfaceGenerator:
  • Cliquez droit sur SurfaceGenerator et choisissez paste->generator->new->BezierLathe
    (collez -> générateur -> nouveau -> tour de Bézier)

ii.   Ajustez dans le BezierLathe quatre points de contrôle :
  • Cliquez le Noeud BezierLathe pour faire apparaître son panneau de contrôle avec ses valeurs à ajuster
  • Utilisez les boutons haut/bas de la valeur length pour l'ajuster à 4

Chaque point de contrôle est affecté d'un indice numérique à partir de 0. Utilisez donc les boutons haut/bas de ces indices pour choisir le point de contrôle à ajuster.

iii.  Installez le premier point de contrôle au point central bas du coeur (heart) :
  • Dans le panneau de contrôle décrémentez index à 0
  • Ajustez point à 0 0

iv.  Installez les 3 points de contrôle restants de façon à définir le contour de base du coeur :
  • Dans le Control Panel ajustez :
       le point d'indice 1 à .3 .1
       le point d'indice 2 à .5 .4
       le point d'indice 3 à  0 .4

v.    Sauvegardez votre fichier point smls
  • choisissez file->save (fichier -> sauvegardez) dans le menu principal

5.  Ajustez le maillage de triangles

La surface de la forme de base du coeur est constituée d'un maillage plat de triangles. Le Noeud BezierLathe enveloppe le maillage de triangles en cylindre et ajuste son rayon en fonction des points de contrôle.

Quand la largeur du maillage de triangles est celle de la circonférence du cercle unité, le maillage enveloppera le cylindre sur tout le tour. Mais comme nous n'avons besoin que de la moitié droite du coeur, cette largeur du maillage de triangles devra être limitée à un demi tour (soit 3.141593).

On se sert du Noeud Stem (tige) pour ajuster l'emplacement et la taille du maillage de triangles. C'est aussi grâce au Noeud Stem que l'on définit la densité (le nombre) des triangles.

i.    Ajustez la largeur du maillage de triangles à une demi circonférence :
  • Cliquez le Noeud Stem et, dans le panneau de contrôle, ajustez xDistance à 3.141593

ii.   Déplacez le maillage de triangles pour que sa surface commence un quart de tour autour du cylindre :
  • Ajustez slide (curseur) à 1.5708 0

iii.  Faites en sorte que les extrémités gauche et droite du maillage soient disjointes :
  • Décochez joinEnds (décochez joindre-les-bouts)

iv.   Augmentez le nombre des colonnes et des rangées de triangles du maillage de façon à rendre la surface plus douce :
  • Ajustez staves à 12 et bands à 15

v.    Ajustez le maillage en vue d'obtenir une forme qui se referme en haut comme en bas sur un seul point :
  • Cochez beginSP et endSP

vi.    Sauvegardez le fichier point smls

6.  Aplatissez le coeur

Le Noeud SurfaceTransform peut, entre autres choses, modifier l'échelle d'une forme selon l'axe des z. Ceci permet d'aplatir le coeur.

i.    Ajoutez un Noeud SurfaceTransform au Noeud SurfaceGenerator :
  • Cliquez droit sur SurfaceGenerator et choisissez paste->generator->new->SurfaceTransform
    (collez -> générateur -> nouveau -> Transformateur de Surface)

ii.   Ajustez l'axe des Z à la moitié de la valeur de l'axe des x :
  • Cliquez le Noeud SurfaceTransform et ajustez la scale (échelle) à  1  1  .5 dans le panneau de contrôle.


7.  Fabriquez le lobe du coeur

On fabrique le lobe du coeur en tractant le haut de la forme de base vers le haut. C'est le Noeud SineTug (tracteur sinusoïdal) qui va s'en charger gentiment. Il se comporte un peu comme un champ de gravitation. Plus un sommet se trouve près d'un point de contrôle, plus il est tiré dans la direction du tracteur.

Il est important de tracter le lobe de telle façon que les côtés droit et gauche du coeur soient joints proprement plus tard.

i.    Ajouter un SineTug (tracteur) au SurfaceGenerator (Générateur de surface) :
  • Cliquez droit sur le SurfaceGenerator et choisissez paste-> generator->new->SineTug
    (coller -> générateur -> nouveau -> Tracteur)

ii.   Créez un point de contrôle de traction unique :
  • Cliquez sur le Noeud SineTug et incrémentez sa length ( longueur, ici, nombre d'éléments) à 1 dans le panneau de contrôle.

iii.  Placez le point de contrôle de traction en haut du coeur et à droite :
  • Ajustez location à  .15  .4  0

iv.   Ajustez la distance (distance) du tug (point de traction) :
  • Ajustez distance à .1

v.    Ajustez l'aire d'influence du point de traction :
  • Ajustez radius (rayon) à .4
  • Ajustez decay (amortissement) à .4

vi. Sauvegardez le fichier point smls

8.  Créez le côté gauche du coeur

Le côté gauche du coeur est une simple image miroit du côté droit.

C'est le Noeud CopyPart qui est utilisé pour recopier les triangles du côté droit du coeur afin d'en faire un côté gauche.

i.    Ajoutez un Noeud constructeur CopyPart :
  • Cliquez droit sur le Noeud Seamless et choisissez paste->build->new->CopyPart
    (coller -> constructeur -> nouveau -> Copieur de Partie)

ii.   Ajustez CopyPart pour copier les triangles de la Partie heart (coeur) :
  • Cliquez droit sur la Partie heart (coeur) et choisissez Copy (copier)
  • Cliquez droit sur la CopyPart et choisissez paste->source->USE heart
    (coller -> source -> UTILISEZ coeur)

iii.  Ajustez le CopyPart pour recopier les triangles dans la Partie coeur :
  • Cliquez droit sur la Partie heart (coeur) et choisissez Copy (copier)
  • Cliquez droit sur le CopyPart et choisissez paste->dest->USE heart
    (coller -> destination -> UTILISEZ coeur)

iv.   Constituez une image miroir avec les triangles de droite maintenant recopiés :
  • Cochez la case mirrorX (miroir) dans le panneau de contrôle

v.    Demandez au CopyPart de conserver en place les triangles de la moitié droite du coeur (bref, copiés, mais non effacés) :
  • Cochez la case ajouter dans le panneau de contrôle

vi.    Sauvegardez le fichier point smls

9.  Unir ensemble les deux moitiés

Dans le menu principal, choisissez cursor/view control->toggle wireframe mode (curseur/contrôle de la vue -> basculez le mode fil-de-fer/solide) pour afficher le coeur sous forme d'un objet solide puis cliquez droit sur ce coeur dans la fenêtre 3d et cliquez-tirez avec la souris vers la gauche pour le faire tourner un peu.



Remarquez l'existence d'une couture au centre du coeur. Elle est visible parce que les triangles de part et d'autre de la couture sont adjacents, mais non pas joints.

On utilise le Noeud JoinVertex pour joindre les sommets des triangles adjacents.

i.    Ajoutez un Noeud constructeur JoinVertex :
  • Cliquez droit sur le Noeud Seamless et choisissez paste->build->new->JoinVertex
    (collez -> nouveau -> Joindre les sommets)

ii.   Ajustez le JoinVertex pour utiliser la Partie heart (coeur) :
  • Copiez la Partie heart (coeur) pui cliquez droit sur le JoinVertex et choisissez paste->part->USE heart (copiez -> partie -> UTILISEZ coeur)

iii.  Ajustez le maximum de distance entre les sommets à joindre à une valeur convenable :
  • Utilisez la range (l'étendue) par défaut de .001

iv.   Autorisez le constructeur JoinVertex :
  • Cochez la case in du panneau de contrôle

v.    Sauvegardez le fichier point smls

10. Ajoutez la couleur

On utilise le Noeud ColorSweep (Etaleur-de-couleur) pour fixer la couleur d'une Partie. La couleur peut être étalée d'une couleur vers une autre. Le coeur est d'une seulecouleur de sorte que la couleur du début et celle de la fin sont la même.

i.    Ajoutez un Noeud constructeur ColorSweep :
  • Cliquez droit sur le Noeud Seamless et choisissez paste->build->new->ColorSweep
    (collez -> constructeur -> nouveau -> Etaleur-de-couleur)

ii.   Ajustez le ColorSweep pour utilisation du coeur :
  • Copiez la Partie heart puis cliquez droit le ColorSweep et choisissez paste->part->USE heart
    (Collez -> Partie -> UTILISEZ coeur)

iii.  Ajustez la couleur de début à rouge foncé :
  • Incrémentez le champ length (longueur, ici, nombre d'éléments) à 2
  • décrémentez index (indice) à 0
  • Ajustez la color (couleur) à  .7 0 0

iv.   Etalez la couleur le long del'axe des y :
  • Cochez la case straight (directement)

v.   Ajustez la couleur de fin à rouge foncé à la pointe du coeur :
  • Incrémentez index (indice) à 1
  • Ajustez la color (couleur) à  .7 0 0
  • Ajustez distance à .5

vi.    Sauvegardez le fichier point smls




11. Réglage fin de la densité des triangles (facultatif)

Remarquez un effet de bord à peine visible sous l'ombrage de la pointe du coeur dans la figure ci-dessus. Cela se produit parce que les rangées de triangles sont trop rares pour le niveau de courbure de cette région. C'est la même chose en haut, encore que cela paraisse moins évident.

On pourrait augmenter le nombre total de triangles avec le champ bands (rangées) du Noeud Stem (tige) mais au prix d'un grand excès de triangles.

Il est bon de savoir que les points de contrôle du BezierLathe (tour de Bézier) peuvent affecter la distribution des triangles dans le maillage. C'est en ajoutant des points de contrôle dans le tour qu'il est possible d'accroître la densité des triangles là seulement où c'est nécessaire. Cela donne un aspect plus lisse à la forme du coeur sans ajouter trop de triangles.

i.    Ajoutez un point de contrôle au tour de Bézier près de la pointe du coeur :
  • Cliquez sur le BezierLathe, décrémentez l'index (indice) à 0 et incrémentez la length (longueur, ici, nombre d'éléments) à 5

ii.   Installez le nouveau point de contrôle tout près du premier :
  • Ajustez le point d'index (indice) 1 à .01 .001

iii.  Ajoutez un point de contrôle au tour de Bézier en haut du coeur :
  • Incrémentez l'index (indice) à 3 et incrémentez la length (longueur, ici, nombre d'éléments) à 6

iv.   Installez le nouveau point de contrôle tout près du dernier :
  • Ajustez le point d'index (indice) 4 à .15 .4

v.    Sauvegardez le fichier point smls

Un Coeur sur mesures

En ajustant autrement les valeurs des Noeuds BezierLathe, SineTug, SurfaceTransform et ColorSweep il est facile de fabriquer pratiquement n'importe quelle forme de coeur de n'importe quelle couleur.

Essayez aussi d'ajouter plus de points de contrôle au BezierLathe (tour de Bézier) et de les tirer avec la souris ou d'augmenter la portée du SineTug (tracteur).

Ne négligez pas de sauvegarder le fichier point smls de votre coeur sous des noms différents avant ces expérimentations, ceci pour éviter d'écraser le fichier que vous venez de construire ici.


Bumpy