Modèles et Textures : Nouveau maillage riggé avec Nifskope et Blender

De Wiwiki
Révision datée du 23 juin 2006 à 21:59 par Ovocean (discussion | contributions) (Brouillon)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Bonjour et merci de lire ce tutorial !j’espère que vous prenez part activement a la création de nouveau contenu pour Oblivion, parce qu’il n’y a rien de comparable a la satisfaction de pouvoir dire « je l’ai fait ! »

Allons-y pour le tutorial ! Je ne couvrirai pas en détail le fonctionnement de Blender .Vous trouverez des tutoriaux assez détaillés dans le « Blender :Noob to Pro » a cette adresse : http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro

Je pars aussi du principe que vous avez installé Blender, ainsi que les scripts d’import/export de NIFs et qu’ils soient configurés.Si ça n’est pas le cas on verra comment faire plus tard dans le tutorial.

Maintenant je commence par importer « FullHumanMaleImportReady.Nif » telechargeable ici : http://www.alys.org/oblivion/FullHumanMaleAndFemaleToplessImportReady.rar Les Bones au dessus des poignets seront visibles mais les autres non ! On peut remédier à ça en faisant un clic droit sur l’un de ces Bones afin de sélectionner l’armature complète et en cliquant dans la fenêtre en dessous (F9 pour avoir le bon panneau) sur le bouton « X-ray ».Vous trouverez ici une serie de boutons en lien avec l’aspect des Bones.(cliquez aussi sur « Draw names » afin d’afficher les noms des Bones pour plus tard.)


En suite, j’importe le « .OBJ » du modèle que je veux « rigger » et je le déplace dans la fenêtre afin qu’il soit bien placé.Un bon moyen de faire ça proprement est de presser la touche « G » afin de passer en mode « grab »(attraper) puis sur X Y ou Z pour le faire glisser sur un seul axe. [utile? If you press the axis key once you will move on the "Global" x y and z that never change, but if you hit it twice, ( ala G, x, x) you will move on the local xyz of the object, which can lead to strange results but is useful in certain situations.] Puis je le mets à la bonne dimension.



La prochaine étape sera de dire à l’objet : « Hé, j’ai des Bones qui vont me faire bouger ! ».On fait ça en cliquant sur le bouton « Add Modifier » et en choisissant « armature » (notre squelette de bones).On doit entrer un nom pour cette armature et dans le cas de ces NIFS , le nom est « Scene Root ».Entrez donc ce nom et appuyez sur la touche « enter », mais ne cliquez JAMAIS sur le bouton « apply » car cela appliquera toutes les déformations impliquée par vos Bones de manière permanente et ce n’est pas l’effet recherché !Ca peut être utile si vous voulez créer une pose pur votre modèle afin d’en faire une statue mais ça n’est pas ce qui nous intéresse ici.Donc évitez ce bouton « apply » comme la peste ! ATTENTION NE CONTINUEZ PAS PLUS LOIN SANS AVOIR LU AU PARAVANT LES INSTRUCTIONS SUR LES QUELQUES PROCHAINES PAGES.


Maintenant il est temps de parenter l’objet à l’aramture.Ca peut paraître un peu redondant mais dans l’esprit de l’ordinateur il s’agit encore de deux objets séparés et non d’objets interdépendants.Afin de parenter l’objet à l’armature (et non l’inverse, sinon c’est pas glop) on sélectionne le heaume d’abord, puis un coup de SHIFT+CLIC DROIT sur l’armature, les deux sont donc sélectionnés, avec des couleurs différente toutefois. PASSEZ A L’ETAPE SUIVANTE.


Pressez CONTROL+P sur votre clavier afin de faire venir ce menu.Cliquez sur « armature ».NE CLIQUEZ SUR RIEN D’AUTRE TANT QUE VOUS N’AVEZ PAS LU LA SUITE!!


Apres avoir cliqué sur « to armature » à la page précédente, vous aurez ce menu.Afin de gagner beaucoup de temps NE LAISSEZ PAS BLENDER FAIRE LES VERTEX GROUPS A VOTRE PLACE C’est une très très mauvaise chose a faire ! Ayez toujours en tête que votre ordinateur est stupide et que vous pourrez faire mieux.Nous créerons nos propre vertex groups nous même prochainement.


Je change ma vue pour quelque chose de plus gérable (on peut facilement se déplacer dans la vue en jouant avec les touche du panneau numérique ou par le menu « view »).Je passe du mode OBJET au mode EDIT en passant par le menu déroulant « mode » et en choisissant « edit mode » puis en cliquant sur le petit bouton « editing » ou plus simplement en appuyant sur la touche F9. Ce mode nous permettra de manipuler directement les vertexs (points) et ainsi de créer nos vertex groups.


Ici dans la partie inférieure gauche se trouve notre menu pour les vertex groups.Plus tôt j’ai activé l’option « draw names » afin d’afficher les noms des Bones.Donc maintenant je clique ici sur « new » et je crée manuellement les vertex groups que avec LE MEME NOM que les Bones qui agiront dessus.Ceci fait gagner beaucoup de temps et évite des maux de tête a cause des problèmes difficilement réglables par la suite donc je vous recommande cette méthode.Notez bien que je n’assigne aucun vertex a ces groupes, ils sont simplement vides.


Maintenant les réglages sont au point, nous allons passer au mode « weight paint » dans le menu déroulant « mode » (nous permettant d’indiquer quel point bouge avec quel Bone)


Jolies couleurs mais que veulent elles dire ? Comme vous pouvez le voir maintenant j’ai sélectionné « Bip01 Head » et mon pinceau est réglé a weight :1, opacity :1, en mode « mix ».Ce que j’ai fait ? j’ai mentalement visualisé quelle partie bougera a 100% avec le mouvement de la tête.Souvenez vous, on va « weighter » des vertex (points) et NON LES TRIANGLES CREES PAR CEUX-CI, alors même si les couleurs dépassent et se mélangent entre elles, ce sont bien les connections entre les lignes que nous allons peindre et prendre ne compte.Dans cette image j’ai mis le weight à 1.0 sur toute la partie métallique du heaume ainsi que sur la moitié supérieure du drapé.Maintenant ces vertexs bougeront exactement avec le Bone de la tête (Bip01 Head). Juste en dessous sur la ligne de vertexs au milieu du drapé j’ai utilisé le weight à 50% mais UNIQUEMENT sur cette ligne.Ce tutorial a seulement des images de face du modèle mais bien entendu a l’arrière ça se passe exactement pareil.Que veulent dire le rouge et le vert alors ? Cela veut dire que quand la tête bouge, la partie rouge bougera beaucoup, et la partie verte seulement un peu.Le bleu foncé ne bougera pas avec ce Bone nous la laissons donc comme ça.Mais on a pas fini !CHAQUE VERTEX DU MAILLAGE DOIT ETRE « WEIGHTé » à un Bone ou vous aurez des plantages lors du jeu, ou des pointes bizarres partant de votre modèle vers l’infini.Ca peut être difficile a réparer alors apprenez à bien regarder et ne variez pas trop les valeurs de weight afin que ça reste lisible.Oui, avoir un maillage propre vous fera gagner du temps a cette étape. Donc que faisons nous de cette partie bleu foncé ? Ben c’est pour ça qu’on a fait plusieurs vertex groups.



Ici, j’ai accroché la moitié droite du drapé a la clavicule droite avec le vertex group « R Clavicle » sélectionné.Vous remarquerez que le rouge dépasse sur la partie que nous avions coloré en vert (50%) précédemment (Bip01 Head ).Pourquoi ? parce que l’on veut que le bas du drapé bouge plus avec l’épaule qu’avec la tête.L’interaction de ces deux « weights » appliqués aux deux vertex groups nous donne une déformation plus souple sur ces vertexs et l’on a besoin de n’utiliser que deux puissances de wheight, une à 100% l’autre à 50%.Vous voyez ça n’est pas si compliqué !


Nouveau vertex group, nouveau Bone, nouveau Weight ! Ici c’est le centre du cou et je l’ai « weighté » (accroché) a Bon « Spine2 ».J’ai caché les Bones pour ce screenshot, mais si vous observez bien les screenshots précédents vous remarquerez que la rotation du Bone « Spine2 » et certains autres semblent complètement illogiques,comme si le modèle avait une scoliose !Curieusement c’est ainsi Bethesda ont fabriqué les squelettes sûrement pour éviter certains problèmes du système Biped de 3d studio max.Mais ça n’est pas un problème faites comme s’ils remontaient bien droit dans le dos comme devrait le faire toute colonne vertébrale digne de ce nom. Si vous tournez votre tête et essayez de quelle partie de votre tourne le plus vous verrez le milieu de la gorge .Ainsi au lieu de « weighter » la ligne du milieu du cou a 100%(rouge) mettons la a 50% (comme je l’ai fait pour le Bone de la tête) ainsi les 2 Bones (la tête et le cou) seront a 50% chacun et cela donnera plus de souplesse a cet endroit.Le reste n’a pas besoin de bouger du buste donc on le peindra en rouge(100%).N’oubliez pas de toujours travailler avec une opacité de brosse de 100 sans quoi vous aurez des Weights incontrôlables. Si vous vous embrouillez changez le mode « Mix » à « Sub ».On peut voir ces trois premiers modes comme : Mix : il remplace la puissance de Wheight sur le vertex que l’on clique par celui que l’on a configuré.Le meilleur outil. Add : Ajoute la puissance de Weight configurée à celle déjà présente sur le vertex .Ainsi un vertex avec une puissance de 50%(vert) passera a 75% (orangé) si vous configurez votre pinceau à 25%.Cet outil est difficile a utiliser je vous le déconseille donc. Sub :exactement l’inverse du précèdent.Il est comparable a une gomme et enlèvera la puissance de Weight configurée a celle existant sur un vertex.


Je ne vous décris pas ce que j’ai fait pour l’autre épaule car c’est exactement la même chose mais de l’autre coté.Souvenez vous CHAQUE vertex du maillage DOIT avoir un Weight quelque part !!

Il est temps d’exporter ! Bon j’ai précédemment zappé une étape importante donc j’y viens maintenant.Par défaut le plugin d’export de NIFs pour Blender les exporte dans un trèèèèès vieux format, utilisé dans Morrowind (c’est dire !).Ces vieux Nifs n’ont pas les données nécessaires pour les importer dans Oblivion, alors nous avons besoin de configurer le script pour pouvoir exporter dans la nouvelle version.On fait ça en cliquant sur la petite icône/menu déroulant (sur ce screenshot il est sur la gauche du petit triangle inversé sur la gauche du panneau).Ceci nous donnera les options pour changer les divers environnements possibles et nous choisissons « Scripts Window ».


Whoaa, nos boutons habituels sont partis ! Pas de panique ils prennent juste quelques petites vacances !Nous sommes donc dans le panneau des scripts, cliquez sur le bouton « Scripts » Puis choisissez « System » puis « Scripts Config Editor ».


Quelques menus déroulants apparaissent en dessous, cliquez sur le second (export) et la seule option qui viens c’est le plugin NIF, c’est pas bien ca ? cliquez dessus. Note : il se peut que rien n’apparaisse (héhé pas si cool) car il faut faire une exportation pour qu’il sache que ce plug existe !donc pas de panique faites File>Export> « gamebryo nif » une fenêtre apparaît et faites simplement Cancel ça devrait suffire.



Options ! Laissez tout tel quel, mais dans la boite « Nif Version » il devrait-y avoir écrit 4.0.0.8, vous devrez cliquer ici et changer pour 20.0.0.4, ceci est la version précédente de celle utilisée par Oblivion, mais c’est pourquoi les acharnés de l’équipe de Nifskope nous ont donné des outils dans Nifskope86 qui nous permettrons de corriger ca.Apres avoir changé la version cliquez sur « Apply » (important !) puis sur « Exit ».La fenêtre est à nouveau vide.Cliquez de nouveau sur le menu déroulant qui nous a permis d’avoir la « Scripts Window » et choisissez « Button Window » pour récupérer nos boutons habituels.


Nous sommes presque prêts a exporter hors de Blender ; mais hum, je viens de réalisé quelque chose.Notre heaume n’as pas de texture !Si vous exportez un .nif sans texture assignée à votre objet, il n’en aura pas dans Nifskope non plus et les ajouter par la suite ne fonctionnera pas parce que les coordonnées de mapping UV ne seront pas exportées. Ajoutons donc une texture à notre heaume.


Premièrement faites un clic droit sur la ligne noire indiquée sur le screenshot.Dans le petit menu qui apparaît choisissez « Split Area ».Une ligne verticale apparaît cliquez quelque part et la fenêtre se divisera en deux à ce point.


Wééé , deux vues en 3d, très utile ! mais pas pour l’instant on a besoin de vérifier notre texture plutôt.Cliquez sur le gros bouton/menu déroulant et choisissez « UV/Image editor ».


Vous avez une grille grise et vide dans la fenêtre maintenant.Sur la gauche dans la vue 3d choisissez "UV Face Select".Appuyez sur la touche A de votre clavier pour sélectionner toutes les faces de l’objet actif.Les Coordonnées UV des faces sélectionnées doivent apparaître sur la droite mais elles n’ont toujours pas de textures.Personnellement je charge toujours une image ici via le menu image sur la droite.Ca peut etre n’importe quoi,un .jpg de votre chien une image X (heu… de Malcom X) ce que vous voulez ! Cette étape peut être zappée si vous étés vraiment sûr de votre mapping UV mais ça n’est jamais une mauvaise chose de vérifier quand même.Si vous cliquez sur le petit bouton dans la vue 3d maintenant avec une texture chargée dans la fenêtre UV, vous pouvez choisir « Textured » ; le modèle apparaîtra maintenant avec sa texture plaquée.Ceci est un très bon moyen de vérifier que chaque triangle est mappé où vous voulez sur la texture et de vérifier l’orientation des faces.Chaque triangle ou rectangle du maillage peu en effet être orienté dans deux sens, vers l’intérieur ou vers l’extérieur.Parfois ils sont orientés dans le mauvais sens.Réparez ça si nécessaire en passant en « Edit Mode » et passez à la suite de ce tutorial.


C'est amusant vous me direz, mais Blender ne veut toujours pas croire que votre objet a une texture, bien que vous en ayez chargé une dans la fenêtre des UV. Oh, bon… avec un grand pouvoir vient un grand manque d'intuitivité… De retour dans la Button Window, cliquez sur le bouton Shadings avec son icône de sphère argentée, ou bien utilisez le raccourcis F5. Cliquez ensuite la sphère magenta à droite pour afficher la fenêtre des matériaux. Dans le premier menu déroulant sous l'onglet Material, sélectionnez un matériau déjà utilisé par les parties de corps, par exemple Skin devrait convenir. Si vous procédez autrement, un paramètre important se trouve dans l'onglet Map Input à droite (qui apparaît si vous avez une texture sélectionnée), il faut que "UV" soit sélectionné.

Pour charger une texture Cliquez sur le bouton Textures, qui ressemble à… un petit machin couleur caca d'oie, ou utilisez le raccourci F6. Dans l'onglet texture, s'il n'y a pas déjà une texture sélectionnée, cliquez sur Add New dans le menu déroulant. Dans l'onglet Image, si le premier menu déroulant contient un chemin de texture, c'est bon. S'il contient "Untitled", cliquez sur le bouton Load Image et chargez votre texture, ou bien n'importe quelle autre image. Il n'est pas besoin que ce soit la même image que celle chargée dans la fenêtre des UV. MAINTENANT, Blender reconnaît que votre objet a une texture.

Cliquez sur File > Export > Netimmerse/Gamebryo… Trouvez un endroit où sauver votre nif et entrez son nom complet avec l'extension ".nif", puis cliquez sur Export.

Allez, c'est le moment de quitter Blender ! Youpee, youplala ! Il fait beau ! Les oiseaux chantent ! Il y a du progrès dans l'air !

Il est temps d'évacuer votre objet hors du nif version 20.0.0.4 pour l'intégrer dans un nif de version 20.0.0.5 comme les aime Oblivion. Ouvrez votre nouveau nif dans Nifskope. Aaah ! Notre bon vieux Nifskope, c'est bon de vous revoir ! (Comment, quoi ? Vous ne le trouvez pas tout beau tout simple ?)

Si vous n'avez pas encore configuré Nifskope, faites comme on vous dit : Affichez la Block List et les Bocks Details s'ils ne sont pas présents avec les raccourcis F1 et F2. Dans le menu Render, cochez bien tout ce qu'il faut (cf. la capture d'écran). Allez dans le menu Spells > Textures > Folders et dans la nouvelle fenêtre, sélectionnez le menu Data de votre installation d'Oblivion. Vous pouvez sélectionner d'autres dossiers contenant un dossier textures (par exemple si vous avez extrait Oblivion – Textures.bsa dans C:\machin, sélectionnez le dossier machin). Attention, cette fenêtre est toute buggée, alors bonne chance !

Bien, vous verrez maintenant un tas de choses à l'intérieur du Nifskope, mais tout ce qui nous intéresse c'est notre casque. Cliquez dessus dans la vue 3D. Nifskope le met en surbrillance dans la block list, c'est le bloc NiTriShape.

Faites clic droit > Block > Copy Branch sur la NiTriShape. Ouvrez une nouvelle fenêtre Nifskope en passant par File > New Window, pour pouvoir copier/coller de l'une à l'autre. Dans cette nouvelle fenêtre, ouvrez le nif dans lequel vous allez coller votre nouveau modèle. (Voir ci-dessous pour savoir quel nif utiliser.) Faites clic droit > Block > Paste Branch, n'importe où.

Moi personnellement, j'ai collé le TriShape dans le nif du Heaume de l'Aube Mystique. J'ai fait ça parce que ce nif contient les mêmes quatre bones auxquels j'ai pondéré mon casque. Si votre modèle est plus complexe, vous pouvez simplement importer votre ou vos TriShapes dans un des nifs Human***ImportReady et supprimer les parties de corps dont vous n'avez pas besoin. Mais la simplicité est préférable, si vous n'utilisez pas certains bones, mieux vaut ne pas les avoir dans votre nouveau nif, cela vous aidera à déterminer d'où proviennent les erreurs, si vous en avez.

Vous devez maintenant parenter cette nouvelle TriShape au block "Scene Root". Pour cela, regardez dans la fenêtre Block Details (affichez-là si ce n'est pas fait) de "Scene Root". Il y a un attribut nommé "Num Children". Augmentez sa valeur de 1 puis sur l'attribut d'en dessous, "Children", faites clic-droit --> Array --> Update pour mettre à jour l'affichage. Développez "Children", le dernier children est celui que vous venez d'ajouter, il a pour valeur None. Changez None par le numéro de votre TriShape. (S'il y a d'autres None, vous pouvez utiliser celui que vous voulez, Nifskope supprimera les autres au moment de sauvegarder).

(Changez le path de la texture)

Sélectionnez votre TriShape et changez son nombre de "Flags" par 14, dans ses block details. C'est en rapport avec les collisions, le jeu peu planter si ce n'est pas paramétré comme ceci.

Normalement, vous devriez maintenant faire un clic-droit --> Mesh --> "Make Normals" sur votre TriShape, mais ce n’est que si vous importez un .OBJ. Nous travaillons avec du pur .NIF à présent, cher modélisateur ! Donc oubliez Make Normals et contentez-vous d'un "Smooth Normals", puis dans la petite fenêtre qui s'ouvre, entrez un "Max Smooth Angle" de 180. Ce n'est que "au cas ou", car Blender a dû le faire de lui-même. Cela lisse l'affichage des polygones.

Clic-droit --> Mesh --> Update Tangent Space. Cela met à jour les données spatiales utilisées par la normal map pour donner l’effet de relief.

Clic-droit --> Mesh --> Skin Partition. Cela crée un bloc de données optimisées pour le skin, que le plug-in d’export de Blender ne fait pas pour le moment.

Sauvez votre nif et ajoutez-le dans le CS en tant que pièce d’armure, ou bien remplacez une vieille armure que vous trouviez moche… Chargez le jeu et abreuvez-vous de plaisir en réalisant que vous avez contourné les limitations imposées par Bethesda et conçu un nouveau modèle de vos rudes mains d’artisan !