La découverte du sculpty
Transcription
La découverte du sculpty
La découverte du sculpty Fiche pratique de sculpty niveau découverte Ahuri Serenity Professeur de script à l’Ecole SL EM@iL 17 août 2010 Résumé Dans cette fiche nous allons découvrir ensemble ce qu’est un sculpty dans Second Life. Après avoir saisi pourquoi nous en avons besoin, nous étudierons comment il se présente puis comment en fabriquer. Nous aborderons les concepts de base de la sculpt map et nous verrons avec quels outils il est possible d’en générer. Ce document n’est pas une substitution aux nombreux tutoriels disponibles sur Internet et ne vaut pas un cours, il est cependant indispensable et impératif que vous ayez bien intégré tous les points évoqués ici. Table des matières 1 Introduction 2 2 A quoi ressemble un sculpty ? 2 3 La sculpt map vers le sculpty 3 4 Etude de la sculpt map 5 5 Quelques exemples de logiciels de modélisation 3D 7 1 1 Introduction Initialement sur Second Life (SL), il n’y avait que la possibilité de construire les choses grâce aux primitives de base (cube, sphère, tore, ...). Afin de réaliser des formes complexes, il fallait bien souvent faire preuve de beaucoup d’astuces et utiliser un nombre élevé de primitives. Comme vous le savez peut être, sur SL le nombre de primitives est à minimiser pour beaucoup de raisons (LAG, mémoire serveur, gestion du physique, etc). Il est donc venu une très bonne idée à Linden Lab (LL) : l’intégration d’une nouvelle sorte de primitive. L’idée est de pouvoir obtenir la forme que l’on souhaite en très peu de primitives, avec n’importe quel type de surface et avec une esthétique très agréable, la liberté presque totale de création ! L’éditeur de construction de SL n’a guère évolué (comparable à ses débuts) et aucun projet d’amélioration n’est prévu concernant les sculpties. On doit donc réaliser ces fameuses nouvelles formes depuis l’extérieur de SL dans des logiciels de modélisation 3D. 2 A quoi ressemble un sculpty ? Un objet sculpé dans SL provient de l’application d’une texture (image) appelée "sculpt map" (obtenue à partir d’un logiciel 3D puis importée dans SL) dans le champ réservé dans la fenêtre d’édition de la primitive. Figure 1 – Fenêtre d’édition d’un sculpty avec : la zone de sculpt map (rouge), les options spéciales (bleu) et le mode de raccordement (jaune) L’art de réaliser un sculpty est donc l’art de concevoir cette sculpt map. Il s’agit d’une texture dont les propriétés indiquent à SL comment gérer l’apparence de l’objet comme nous le verrons par la suite (Chap. 2 3 et 4). Figure 2 – Plateau de fruits totalement sculpté Figure 3 – Exemple bien plus complexe de sculpty (ici 16 primitives sculptées) 3 La sculpt map vers le sculpty La sculpt map est une image dont les dimensions sont des multiples de 2 possédant au moins trois canaux (RVB), c’est à dire une image couleur basique. :) Voici quelques exemples de dimensions : 16x128, 256x256, 16x256, 64x64 ... et quelques exemples de formats d’images compatibles : JPEG(JPG), BMP, PNG, TGA, ... (Fig. 4) J’imagine la question qui vous vient à l’esprit en ce moment même : Quel est le lien entre une simple image en 2D et un objet complexe en 3D ? C’est là tout le secret du sculpty ! ! ! Voyons d’abord ce qu’est un sculpty en tant qu’objet 3D sur SL. 3 Figure 4 – Un exemple de sculpt map Un objet sur SL n’est visible que par sa surface. Essayez donc de regarder depuis l’intérieur d’un objet, vous verrez à travers ! Il n’y a pas d’aspect volumique lié à la surface visible à proprement parlé .. il faudrait décrire le concept de bounding box pour tout expliquer ce que je ne vais pas faire ici. Lorsqu’on part de ce principe là, on peut se ramener à décrire un objet par sa surface et non par des éléments de volume. C’est ce qui est fait avec les sculpties. Tout sculpt sur SL est une surface formée par un ensemble de 32x32 points (en résolution max). Lorsqu’on prend trois ou quatre points, on parvient à former une facette (Fig. 5). Figure 5 – Facette simple à partir de quatre vertices Lorsqu’on réunie les facettes formées par les 32x32 points de surface on obtient autant de facettes pour former la surface totale de notre sculpty. J’ai bien dit LA surface car un sculpty ne possède qu’une unique face (Fig. 6). Figure 6 – Exemple de réalisation, remarquez la juxtaposition des facettes 4 Avant de rentrer dans les détails, rappelez vous un instant quand, étant petit(e), vous faisiez des dés en papier. Vous traciez un patron sur une feuille de papier, puis après quelques pliages selon les arrêtes, on obtenait le cube. La dernière étape était de dessiner les points sur les faces. Vous n’étiez pas bien expérimenté à l’époque mais pourtant vous avez fait du sculpty ! En effet, quand on trace les premiers points, on désigne nos futurs points de surface, ensuite lorsqu’on les relie, on construit les facettes de notre futur objet, pour au final dessiner sur les facettes, et oui vous avez même texturé votre sculpty ! La phase de pliage n’est rien d’autre que le placement des points de surface dans l’espace. Afin que le sculpty ne reste pas à l’état de points et d’arrêtes (aspect filaire), on applique sur l’ensemble une texture, celle-là même que l’on pose sur les primitives conventionnelles. Cette texture va permettre de recouvrir chacune des facettes citées plus haut. Un logiciel de modélisation 3D s’occupe de vous permettre de positionner ces 32x32 points de surface dans l’espace. Lorsque cela est fait, vous exportez dans une configuration 2D : la sculpt map. Mais comment faire tenir des informations 3D dans un objet 2D tel que la sculpt map ? Vous allez voir c’est plutôt ingénieux ... 4 Etude de la sculpt map Si vous voulez continuer dans la comparaison du chapitre précédent, imaginez maintenant que votre patron ne forme plus 6 facettes comme pour le cube mais (32-1)x(32-1) = 961 facettes (correspondant à une grille de 32x32 points), et que, de plus, il vous est désormais impossible de découper vos facettes. Vous voilà dans le cœur des sculpty maps ! La sculpt texture est une image d’une résolution d’au moins 64x64 (32x32 est autorisé mais peut donné des abérations). En effet, chaque pixel de l’image contient de l’information et il en faut au moins le nombre de points de surface du maillage pour être cohérent. Un, pixel donné contient trois données contenues dans sa couleur : les taux de rouge (R), de vert (V) et de bleu (B). A partir d’un triplet RVB on obtient une couleur et inversement, cela de manière unique (bijection). Cela veut dire qu’on peut utiliser indépendamment ces 3 informations. Quelles informations 3D peuvent être enregistrées pour caractériser la position des points 3D ? Oui leurs coordonnées X,Y et Z dans l’espace ! Ce qu’on fait donc, c’est la transposition (X, Y, Z) ←→ (R, V, B). Le rouge caractérise la position du point sur l’axe des X, le vert sur l’axe des Y et le bleu sur l’axe des Z, exactement comme sur SL (avec les axes colorés en mode édition). Chaque composante R, V et B peut prendre une valeur entre 0 et 255, il existe donc 256x256x256 emplacements possibles pour un point donné dans l’espace. Une couleur noire correspondant à R=0, V=0 et B=0, on obtient les coordonnées (0,0,0) qui est la base du cube figure 7. Si on prend le blanc soit (255,255,255) on est à l’opposé sur le sommet de l’autre coté du cube. Si la couleur ne possède pas de bleu, on est sur le plan horizontal. Etc ... On se retrouve donc avec une image contenant au moins 32x32 pixels, donc 32x32 données (R, V, B), donc 32x32 données (X, Y, Z) et donc 32x32 points de surfaces. Ensuite il ne reste plus qu’à relier les points, 5 Figure 7 – Cube représentatif des coordonnées RVB. Selon la couleur du pixel, on se trouve quelque part dans le cube et cette donnée donne la future position du point dans l’espace. à former les facettes et à poser la texture, mais bonne nouvelle SL gère tout ça automatiquement ! Lorsque l’image possède une surface plus grande que 32x32 (ce qui DOIT toujours être le cas), SL ne prend en compte que 32x32 pixels quand même, mais répartis sur tout la surface (présence de pixels non pris en compte). D’après le wiki, l’idéal pour une texture carré est le format 64x64. Voyons maintenant comment est formée la sculpt map (Fig. 8) : Figure 8 – Représentation schématique partielle d’une sculpt map avec : les pixels (vert), vertices et arrêtes (rouge). Lorsqu’on prend les 32x32 points de référence sur la sculpt map obtient une grille de 32x32 cases (en vert sur la figure 8). Si maintenant on s’amuse à relier chaque point de la manière indiquée (deux à deux horizontalement et verticalement) on obtient notre maillage (en rouge sur la figure 8). Ce maillage est la représentation de notre surface en 2D. Maintenant imaginez la chose suivante : vous venez tirer sur les différents points de cette maille pour les mettre quelque part dans l’espace de sorte que chaque point colle avec la surface de l’objet. Les informations 3D de chaque point sont ensuite directement traduitent en couleur à l’endroit où on est venu le chercher. Voilà ce que représente cette sculpt map. Les facettes formées par ces liaisons constituent la surface de l’objet. 6 Une dernier effort : imaginez maintenant que votre sculpt map est sur une feuille de papier. Le mode de raccordement (Fig. 1) pour votre sculpty est la façon dont les bordures vont se rejoindrent ou pas. Votre feuille de papier telle quelle représente un raccordement ’plan’ (pas de raccordement). Pliez maintenant la feuille selon la longueur, on obtient un cylindre : il s’agit du raccordement ’cylindre’ (raccordement des points sur les bordures verticales de la sculpt map). À partir de cette position, faites en sorte que les bases du cylindre soient resserées sur un même point de part et d’autre, on obtient une sphère étirée montrant le type de raccordement ’sphère’ (raccordement des bordures verticales et convergence en un même point des bordures horizontales). Enfin, rassemblez sur le même point les deux points de resserement précédents, vous obtenez un tore représentant le type de raccordement ’tore’ (raccordement des bordures verticales et convergence en un même et unique point des bordures horizontales). 5 Quelques exemples de logiciels de modélisation 3D Bien souvent quand on débute dans la réalisation de sculpties, on commet une erreur qui à mon avis est conséquente. La tache n’est déjà pas facile mais cette erreur la complique grandement ! Les nouveaux ont souvent tendance à préférer des outils d’auto génération de sculpties (très souvent payants d’ailleurs) pour débuter dans le domaine, en les essayant les uns après les autres. Ils se retrouvent quasiment toujours à butter contre les limites du générateur avant de passer au suivant, et ainsi de suite. Ce que je critique c’est le manque de recul, ce qui est normal quand on débute. Le problème de ces outils est qu’ils sont grandement limités, qu’ils font perdre un temps fou et qu’ils empêchent de comprendre comment fonctionne le sculpt. Voilà pourquoi je les déconseille aux personnes qui souhaitent apprendre le sculpty mais que je trouve cela plus adapté aux personnes qui ne veulent pas se lancer là dedans tout en ayant la possibilité de créer des choses assez complexes. Ce que je conseille pour les débutants, c’est de commencer avec des logiciels de modélisation 3D "simples". Exemples : sculptypaint (Fig. 9) et rokuro. Figure 9 – Capture d’écran du logiciel SculptyPaint Ces logiciels sont assez faciles à prendre en main et ils ne demandent pas énormément de connaissance dans le domaine. Ensuite lorsque les sculpties commencent à devenir quelque chose de plus commun et que les éditeurs précédents commencent à trouver leurs limites, n’hesitez surtout pas à vous lancer sur des logiciels de modélisation 3D plus ambitieux ! 7 Exemples : Blender / JASS, Maya et 3dsMax. Ces logiciels demandent bien sur un temps plus long pour la prise en main mais avec vos acquis des précédents logiciels, cela va venir très rapidement ! Je souhaite donner une mention spéciale au logiciel Blender qui est selon moi le plus complet tout en restant gratuit ! Il est disponible pour Windows et Mac dans la version JASS, qui est une version spéciale pour Second Life. Je vous conseille fortement ce logiciel JASS ! D’autant plus que Blender dispose d’une communauté importante, il existe beaucoup de documentations ! Figure 10 – Exemple de réalisation avec Blender (par Jan Kurka). Il existe beaucoup de tutoriels disponibles sur Internet concernant ces divers logiciels. Vous trouverez des liens très intéressants sur le site de l’Ecole SL (ecole-sl.fr). 8 Table des figures 1 2 3 4 5 6 7 8 9 10 Fenêtre d’édition d’un sculpty avec : la zone de sculpt map (rouge), les options spéciales (bleu) et le mode de raccordement (jaune) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plateau de fruits totalement sculpté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple bien plus complexe de sculpty (ici 16 primitives sculptées) . . . . . . . . . . . . . . . Un exemple de sculpt map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facette simple à partir de quatre vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de réalisation, remarquez la juxtaposition des facettes . . . . . . . . . . . . . . . . . Cube représentatif des coordonnées RVB. Selon la couleur du pixel, on se trouve quelque part dans le cube et cette donnée donne la future position du point dans l’espace. . . . . . . . . . Représentation schématique partielle d’une sculpt map avec : les pixels (vert), vertices et arrêtes (rouge). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Capture d’écran du logiciel SculptyPaint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de réalisation avec Blender (par Jan Kurka). . . . . . . . . . . . . . . . . . . . . . . 9 2 3 3 4 4 4 6 6 7 8