Avatars Spore

De OSWiki
Sauter à la navigation Sauter à la recherche

Introduction

Ce tutoriel explique comment créer un avatar pour OpenSim à partir d'un personnage créer dans le jeu Spore.

Spore est un jeu vidéo non libre du créateur des Sims, Will Wright. Le jeu est sorti entre le 4 et le 7 septembre 2008 suivant les pays et est disponible sous Windows et Mac OS X. Sous Linux, le jeu se lance à l'aide de Wine. Spore est un simulateur global partant de la naissance de la vie sur une planète jusqu'à devenir le centre d'une civilisation interplanétaire ayant colonisé d'autres mondes. Pour créer de nouvelles créatures, vous devez avoir l'atelier de création de Spore.

Par conséquent, vous pourrez créer des avatars à partir de Spore uniquement si vous disposez du jeu ou si vous connaissez quelqu'un qui peut vous donner un fichier DAE exporté depuis le jeu Spore. Bien entendu, il ne sera pas question d'utiliser ces avatars à des fins commerciales.

Logiciels utilisés :

Créer un personnage dans spore

1.Ouvrez Spore.

2.Cliquez sur Créer dans le menu à gauche de l'écran.

Menu-Spore.png

3.Le menu de création s'affiche. Cliquez sur l'emprunte de patte à droite du menu pour ouvrir le menu de création des créatures. Sélectionnez un type de créature. Puis choisissez l'atelier des créatures.

Entrez dans l'atelier.

Menu-creation.png Atelier creatures.png

4.La fenêtre de l'atelier s'ouvre

Atelier-spore2.png

  • Orientez la scène à l'aide de la souris : clic gauche + déplacement.
  • C'est dans cette fenêtre que vous allez créer votre créature. Commencez par créer une créature simple avant de tester autre chose.
  • Choisissez une bouche, des yeux, des jambes, bras, pieds et décorations.

Vertebres-suite.png

  • Sélectionnez les vertèbres de votre personnage. Vous pouvez ajouter et retirer des vertèbres en tirant sur les deux flèches. Sélectionnez une vertèbre et utilisez la molette de la souris pour augmenter ou réduire la taille de la zone correspondante.
  • En général vous pouvez adapter la taille des éléments qui composent le personnage à l'aide de la molette de la souris.

Creature.png

5. Maintenant que la créature est créée vous pouvez choisir sa texture.

  • Pour cela cliquez sur le pinceau en haut et au centre de la fenêtre de l'atelier.La création d'une texture est assez intuitive pour que je la décrive ici. À vous de jouer !

Creature-texturee.png

6. Maintenant cliquez sur "Nommer sa créature" en bas de l'atelier. Une fenêtre s'ouvre. Indiquez le nom et éventuellement une description et des étiquettes pour le nouveau personnage.

Etiquette-avatar.png

7.Enregistrez votre création.

Exporter le personnage au format DAE

Dans Spore il existe une console cachée dans laquelle vous pouvez entrer des commandes.

1.Lancez le jeu en anglais US.

2. Éditez votre personnage dans l'atelier de création en mode paint.

3.Ouvrez la console avec le raccourci clavier CTRL + SHIFT + C

Console-spore.png

4.Pour afficher la liste des commandes disponibles avec leurs descriptions tapez dans la console :

help

5.Exporter votre personnage au format Collada, tapez dans la console la commande :

colladaexport

6.Le chemin vers le fichier collada de votre personnage apparaît dans la console. Notez-le. Vous pouvez fermer Spore.

Préparer le mesh avant le rigging

La pose

Le fichier DAE exporter depuis Spore contient déjà une armature. Malheureusement, elle n'est pas adaptée à OpenSim, en revanche elle nous sera utile pour positionner correctement notre avatar. Ainsi, pour réaliser un rigging compatibe avec OpenSimulator, le personnage doit prendre une position en T. C'est ce que nous allons faire tout de suite dans Blender. Pour cela :

1.Ouvrez Blender et supprimer le cube du fichier par défaut : clic gauche pour sélectionner le cube puis touche Suppr. Adaptez la vue en mode Front Ortho (Touche 5 puis 1).

2.Importez le fichier Collada de votre avatar dans Blender avec son armature. Sélectionnez les options d'importation du fichier Collada comme indiqué sur l'image ci-dessous (Fix Leaf Bones, Find Bone Chains, Auto Connect). L'avatar créé dans Spore apparaît dans Blender avec son armature mais sans sa texture.

Blender importDae01.png Blender importDae 02.png Blender import Dae 03.png

3. Faites apparaître l'armature pour pouvoir la manipuler. Pour cela, sélectionnez l'armature puis, à droite, dans le panneau des objets (cube), sous "Display", sélectionnez, X-Ray et Wire pour "Maximum draw type" (voir l'image ci-dessous).

Blender afficher armature.png

4. En mode pose, de face, déplacer l'armature pour donner une position en T au personnages. Les bras doivent être bien à l'horizontale et les jambes verticales. Pour faire pivoter les bones (os) utilisez la touche R et déplacez la souris. Si vous voulez un déplacement plus fin appuyez en même temps sur la touche SHIFT.

Blender armature T.gif

5.Faites la même opération en vue du dessus (touche 7).

Blender armature dessus.png

6. Pensez à sauvegarder votre travail. Conserver une version non modifiée de ce travail et poursuivez dans une autre version du fichier blender pour supprimer l'armature et exporter le fichier collada modifié. Ainsi, si vous prenez l'habitude de créer des versions régulières de votre travail, en cas de problème, vous pourrez revenir en arrière plus facilement.

  • Si vous sortez du mode pose, votre avatar va reprendre sa position initiale. Il faut fixer la nouvelle position du personnage. Pour cela :
    • sélectionnez l'avatar,
    • dans le panneau de droite cliquez sur la petite clé anglaise,
    • le modifier correspondant à l'armature apparaît, cliquez sur "Apply"
  • Maintenant, sélectionnez l'armature. En mode pose, l'avatar reste en pose T.
  • Supprimez l'armature (suppr).
  • Sauvegardez le fichier blender sous un nouveau nom.

Blender avatar pose T.png

La texture

1. Ouvrez l'éditeur UV/images de Blender.

Blender Texture editeur01.png Blender texture editeur02.png

2.Dans la liste des images choisissez la texture diffuse de votre avatar pour l'afficher. La texture apparaît mais les couleurs du filtre alpha n'apparaissent pas. Si vous importez cette texture dans OpenSim, peu de zones du mesh seront texturées et l'avatar sera en grande partie effacé. L'image de droite montre l'aspect de la texture non modifiée.

Blender texture afficher diffuse.png Blender texture editeur01.png

3.Dans le panneau de droite, sélectionnez l'onglet texture. Sous "Image" décochez la case "Use alpha". La texture apparaît maintenant entièrement comme sur l'image ci-dessous.

Blender use alpha.png  Blender texture editeur 02.png

4.Dans l'éditeur US/images enregistrez une copie de la texture modifiée. Cette copie sera utilisée dans OpenSim pour texturer votre avatar.

Blender texture editeur 03.png

5.Vous pouvez visualiser votre avatar texturé dans blender en sélectionnant le mode "Texture Paint".

Blender avatar texture.png

Exporter le fichier Collada modifié

  • Allez dans File/Export/Collada.

Blender export dae.png

  • Configurez l'exportation comme sur l'image ci-dessous dans la fenêtre de gauche sous Export COLLADA.

Blender export Collada.png


Rigging de l'avatar

Définition

Le squelettage ou rigging est un procédé en synthèse d'images 3D qui dote un objet à animer d'un squelette profond mobile qui déformera sa maille (mesh) de surface. Il s'agit pour le modélisateur et l'animateur de choisir les endroits où seront placés les axes de rotations, afin de permettre les mouvements désirés (bielle de locomotive à vapeur, pistons d'un moteur à combustion interne, rotules et coudes d'un personnage, etc.) Pour les personnages, la contraction des muscles et l'affleurement des os à la surface de la peau lors des mouvements, dépendent entièrement du choix des axes de rotation et de l'amplitude que l'on leur accorde lors du rigging. La facilité d'animer un objet en 3D dépend donc totalement de la qualité de son rigging.

(Wikipédia)

Importer le mesh de l'avatar dans workbench

1.Ouvrez le fichier Avatar_workbench pour blender.

2.Nous allons utiliser les calques de Blender. Ils sont accessibles à partir d'une petite fenêtre du menu de l'éditeur 3D de Blender. (Voir ci-dessous).

Blender Menu editeur 3D.png

Blender calques.png

  • Cliquez sur les petits carrés pour ouvrir les calques correspondant dans l'éditeur 3D.
  • Si un carré contient un cercle, alors un objet est déjà placé dans le calque.
  • Pour sélectionner plusieurs calques à la fois, il suffit de cliquer sur les carrés en gardant la touche SHIFT enfoncée.
  • Le fichier avatar_workbench, contient déjà plusieurs avatars (féminin et masculin) et les armatures correspondantes.

3. Ouvrez un calque vide et importez le fichier Collada modifié de votre personnages Spore.

4. Ouvrez également le deuxième calque de la deuxième ligne du premier bloque dans la fenêtres des calques qui contient une armature.

Blender workbench Right 01.png

La sélection et les déplacements dans Blender.

  • Pour changer de vue, utilisez les touches du panneau numérique.
    • vue du dessus : touche 7, vue du dessous : CTRL + 7
    • vue de face : touche 1, vue de dos : CTRL +1
    • vue de droite : touche 3, vue de gauche : CTRL + 3
  • Pour déplacer la vue :
    • La molette de la souris sert à zoomer et dézoomer dans la vue,
    • Molette + CTRL : défilement horizontal dans la vue,
    • Molette + SHIFT : défilement vertical dans la vue.
  • Dans Blender, la sélection se fait par un clic droit sur les éléments. Pour faire une sélection multiple, pendant toute la sélection, la touche SHIFT doit être maintenue enfoncée. Vous pouvez également sélectionner un ensemble d'objets en pressant sur la touche B.
  • On appelle bone les "os" de l'armature. Dans blender, ils peuvent être représentés de différentes façons. Dans avatar_workbench, ils sont représentés à l'aide de points et de lignes. Les points se placent au niveau des articulations et les lignes forment le corps du bone.
    • en mode objet toute l'armature sera sélectionnée,
    • en mode édit la sélection se fait bone par bone. Vous pouvez sélectionner le bone entier en cliquant sur la ligne ou les articulations séparément en cliquant sur les points.
  • Pour déplacer un objet, pressez sur la touche G et déplacez la souris dans l'éditeur 3D.
  • Pour déplacer un objet le long d'un axe, pressez sur la touche G puis sur la touche correspondante à l'axe (X, Y ou Z).
  • Pour faire pivoter un objet utilisez la touche R et déplacez la souris.
  • Pour désélectionner/sélectionner l'ensemble des objets utilisez la touche A.

Adapter l'armature au mesh

1. Passer en vue du dessus pour faire pivoter l'avatar et l'orienter dans le même sens que l'armature. Revenez en vue droite (Touche 3).

Centrer l'armature sur l'avatar en vue du dessus en la déplaçant. Pour cela sélectionnez l'armature entièrement.

Vous pouvez en profiter pour déplacer les deux bones des yeux au niveau des deux orbites comme sur l'image. Désélectionnez l'armature (touche A) ,puis sélectionnez les deux bones des yeux l'un après l'autre. Déplacez les bones des yeux sur l'axe X.

Blender workbench dessus01.png Blender workbench dessus centre.png

2.Passer en vue de droite.

Blender bones face01.png

Placer les bones comme sur l'image.

  • Montez le point du premier os de la tête bien au dessus de la tête.
  • Placez les bones des yeux au centre des orbites.
  • Placez le point inférieur du deuxième bone de la tête sur la bouche.
  • Placez le point inférieur du troisième bone de la tête au niveau du cou.
  • Centrez la ligne des bones des bras sur les bras. Parfois, dans OpenSim les bras des avatars ne sont pas assez écartés du tronc.Si vous voulez éloigner les bras du tronc, il faut écarter les points de la clavicule et de l'épaule du centre du tronc.
  • Ajustez les bones du thorax, du pelvis, des jambes avec les hanches et les genoux.

3. Passez en vue de droite et de gauche.

Ici le personnage a les jambes légèrement pliées. Si vous voulez un personnages avec des jambes droites, il faudra modifier en conséquence votre mesh. En revanche, pour respecter la forme du mesh, les bones de l'armature des jambes doivent rester droits.

Blender bones faces.png

Skinning

Un processus de maillage (skinning) associe chaque os du squelette à une portion de la peau de l'objet à animer, cependant une portion donnée de la peau peut être associée à plusieurs os, selon une pondération précise.

(Wikipédia)

Skinning automatique

  • En mode Objet, sélectionnez l'avatar puis, en maintenant la touche Shift enfoncée, sélectionnez l'armature. Elle doit avoir une couleur plus claire que le mesh.

Blender skinning 01.png

  • Pressez sur les touches CTRL et P, un menu s'ouvre.

Blender Skinning 02.png

  • Choisissez "With Automatic Weights"
  • Cette opération peut provoquer une erreur : “bone heat weighting failed to find solution for one or more bones” (un ou plusieurs bones n'ont pas pu être assignés à un groupe de points. Cette erreur peut être liée à l'existence de points doubles dans le mesh. Pour pallier à ce problème :
    • sélectionnez le mesh seul,
    • passez en mode édition et sélectionnez l'ensemble du maillage,
    • dans le menu de gauche, sous l'onglet Tools, puis Mesh Tools, cliquez sur Remove Doubles. Blender remove doubles.png
    • recommencez le skinning automatique.

Correction des défauts su skinning automatique

Parfois, le skinning automatique donne d'assez bons résultats dans OpenSim. Mais, quelques défauts sont souvent gênants. De plus, j'aimerais présenter quelques règles à respecter pour réaliser au mieux un avatar pour OpenSim.

Un exemple : sur l'image ci-dessous, les dents ne bougent pas avec la tête.

Tuto avatar rigge.png Tuto avatar defaut01.png

Pour modifier les zones d'influence des bones de l'armature nous allons passer en mode Weight Paint. Mais cela ne suffit pas, ce mode doit être associé à une sélection de l'armature en mode pose. Voici comment faire :

Passer en mode Weight Paint

  • Mettez le mesh et l'armature tous les deux en mode object.
  • Sélectionnez l'armature, et passez en mode pose. Sélectionnez un bone.
  • Maintenant, sélectionnez le mesh seul. Il doit être en mode objet.
  • Passez en mode Weight Paint. Vous devez obtenir quelque chose qui ressemble à l'image ci-dessous.

Blender mode weight Paint.png

Les zones d'influence des bones

  • Vous pouvez sélectionner un a un les bones. Les zones d'influence du bone sélectionné se colorent du rouge au bleu en passant pas l'orange, jaune, vert.
    • rouge : influence à 100%
    • de l'orange au vert : l'influence décroit,
    • bleu : pas d'influence du tout.
  • Vous pouvez passer d'un bone à l'autre pour visualiser les zones d'influence de chacun d'eux.

Blender Zone Influence.png Blender skinning erreur dents.png

Sur l'image on peut voir pourquoi les dents de l'avatar ne suivent pas la tête sur OpenSim. Le Bone de la tête n'a aucune influence sur les dents. En revanche, quelques dents vont se déplacer avec les yeux. Nous allons changer cela.

Ajouter des points dans la zone d'influence d'un bone

  • utilisez une vue qui va vous permette de sélectionner uniquement ce que vous désirez. Attention la sélection involontaire de points est très fréquente et peut très vite donner n'importe quoi. Il suffit de sélectionner un point caché dans le mesh pour obtenir un résultat assez catastrophique. Faites des sauvegardes, soyez précis et méthodiques.

Ici je vais me mettre en vue de profil, ainsi, je travaillerai uniquement sur la bouche de l'avatar, il n'y a rien derrière.

  • Pressez sur le bouton de profondeur de sélection dans la barre de menu de l'éditeur 3D.Blender selection profondeur.png Cela vous permettra de prendre tous les points dans la zone sélectionnée.
  • En haut et à gauche de Blender il y a une fenêtre qui affiche des outils qui vont vous permettre de modifier les degrés d'influence sur votre mesh. Cliquez sur l'icône pour voir tous les outils disponibles. Nous allons utiliser Add, pour ajouter des zones d'influence, Substract pour en enlever et Blur pour égaliser.

Blender Mode Weight Paint Brush Add.png Blender weight Paint outils.png

  • Sélectionnez l'outil Add. Vous pouvez réduire un peu sa force (Stre : 0.065). Zoomez avec la molette de la souris, et balayez les dents. Vous pouvez appliquer l'outil Blurr pour lisser le tout, mais ce n'est pas très important. Ensuite, utilisez l'outil Substract pour supprimer l'influence des deux bones des yeux sur les dents et la bouche/bec/gueule. Vérifiez toujours des deux côtés, et regardez aussi dans la bouche, on peut avoir des surprises.
  • Faites pareils avec les autres bones. En particulier avec le bone du cou qui peut être traité comme le bone de la tête.

Blender avatar correction01.png Blender influence correction02.png

Sur cette image l'avatar tourne la tête et les dents suivent le mouvement :

Tuto avatar correction01.png

Quelques conseils

  • Un globe oculaire doit appartenir uniquement à son bone avec une force rouge. Donc, il doit être bleu pour les autres bones.
  • Si vous ajoutez une décoration ou un objet comme des ailes, il est préférable de le lier au bone le plus proche. Pour l'exemple du tutoriel, j'aurais pu lier les ailes au bone du thorax, je pense que c'était la meilleure solution. Mais le rigging automatique me semblait assez réussi alors je l'ai conservé.
  • Vous pouvez réduire ou augmenter la taille des avatars pour faire des géants ou des tiny avatars. Pour cela :
    • Sélectionnez le mesh et l'armature en mode objet
    • Utilisez la touche S et déplacez la souris étirer l'ensemble.
    • Pour fixer cette nouvelle dimension presser sur CTRL + A puis choisissez Scale dans le menu qui apparaît.

Importer l'avatar dans OpenSim

Importer le mesh dans OpenSim

Dans opensim sur une région ou vous avez le droit de rezzer, importez le mesh de votre avatar.

  • Utilisez le menu Fichier/Import de Mesh

Opensim-importer mesh 01.png

  • Configurez l'importation comme sur les deux captures ci-dessous

Opensim importer mesh 02.png Opensim importer mesh 03.png

Onglet Level of Detail

1. Donnez un nom au mesh,

2. Augmentez les triangles de la ligne Low et Lowest pour que leur nombre soit égal aux triangles de la ligne Medium,

3. Cochez la case Generate Normals,

Onglet Upload options

1. Cochez la case Include Textures,

2. Cochez la case Include Skin weight,

3. Cochez la case Include joint positions.

Importez le mesh

1. Pressez sur le bouton Calculate weights & fee,

2. Quand le calcul est terminé pressez sur le bouton Upload qui apparaît.

Préparer l'avatar

  • Rezzer votre mesh.

Opensim-avatar.png

  • Importez la texture de l 'avatar dans OpenSim et texturez votre avatar.

Opensim-avatar-texture.png

  • Dans votre inventaire, ouvrez un nouveau dossier pour votre nouvel avatar.
  • Dans le dossier créez, une skin, une shape, des yeux, des cheveux.
  • Remplacez votre avatar par le nouveau et éditez votre apparence.
  • Créez un objet alpha pour masquer l'avatar de base pour que seul le mesh que vous avez créé apparaisse. Portez-le.

Opensim alpha 01.png Opensim alpha active.png

  • Ajoutez votre mesh texturé dans le dossier et portez-le.
  • Éditez votre apparence pour ajuster votre avatar.

Bonne création.