Création d'une armure pour Skyrim

 
 
 
 
 
Exportation d'une armure ou du corps vers Skyrim
 
 
Une fois le travail de modélisation terminé dans Blender, nous allons exporter le modèle vers Skyrim.
 
Comme toujours ce travail va s'effectuer en plusieurs étapes.
Premièrement l'exportation du modèle depuis Blender dans un format du type Fallout3
Deuxièmement la modification du format vers celui de Skyrim avec Nifskope
Troisièmement l'application de shaders compatibles dans Nifskope
Quatruièmement l'importation dans le jeu avec le Creation Kit
 
 
Première étape : Exportation vers un format Fallout 3
 
Lorsque la modélisation est terminée, on commence par supprimer tous les objets ne faisant pas partie du modèle.
Ensuite on sélectionne le modèle qui peut se composer de plusieurs objets, il faut veiller à ce que tout soit sélectionné.
Puis on va importer un squelette à partir d'un modèle standard similaire à celui qu'on a réalisé.
Attention certain modèles provenants de mods ne sont pas toujours surs, il y a parfois des erreurs d'aligenement qui peuvent poser problème par la suite. Mieux vaut utiliser le squelette d'un modèle originel comme femalebody_0.nif dans notre exemple. Bien sur il faut un suaelette de femme et bien du type _0 si on a un modèle _0 et _1 si on a un modèle _1. Normalement ces deux squelettes sont identiques, mais ce n'est pas sur, il est possible que le squelette pour un homme de type lourd soit différent de celui d'un homme de type léger vu la différence des modèles.
 
On procède comme pour l'importation du modèle femalebody_0.nif qu'on a réalisé au début du travail, mais cette fois on choisi l'option Import Skeleton Only + Parent Selected. De cette façon on va importer le squelette seulement et le lier automatiquement aux objets sélectionnés dans Blender.
 
On sélectionne tous les objets à exporter et on va dans le menu : File / Import / Netimmerse/Gamebryo:
Importation du squelette
 
On choisi cette fois de n'importer que le squelette et de le lier aux objets sélectionnés dans Blender.
Réglage d'importation du squelette
 
On obtient notre modèle lié au squelette
Modèle avec squelette lié
 
Avant d'exporter il faut bien vérifier que l'objet terminé ne contient plus de modificateur d'échelle ou de rotation. On fait CTRL + A et on choisi dans le menu Scale and Rotation to ObData
Ajustement avant l'exportation
 
Maintenant on est prêt pour l'exportation au format nif du type Fallout 3.
 
Exportation de l'armure
 
Voici les régalges à effectuer avant d'exporter dans la boite de dialogue d'exportation du plugin. Notez qu'on choisi bien Fallout 3 comme type de modèle.
Réglages d'exportation
 
Si vous avez bien préparé votre modèle, si vous avez bien éliminé tous les objets inutiles et bien réglé le plugin d'exportation, tout doit bien se passer.
Attention si comme moi vous avez un modèle très détaillé avec de nombreux sommets, il faudra du temps au plugin pour exporter le modèle, alors patience, ça peut durer plusieurs minutes selon la taille du fichier et les performances de la machine.
 
 
Prochaine étape, modifier le format du fichier nif avec Nifskope:
 
 
La première chose à faire c'est de modifier le header du fichier nif avec Nifskope.
On va simplement remettre les valeurs d'origine pour User Version et User Version 2 : respectivement 12 et 83
 
Format skyrim dans Nifskope
 
Ensuite on sauvegarde le fichier à son emplacement définitif avec le nom désiré.
On ferme Nifskope, puis on ouvre le fichier qu'on vient d'enregistrer. On va remarquer que Nifskope a fait le ménage et qu'il a extrait de 0NiNode tous les blocs non compatibles avec le format de Skyrim.
Ce sont les blocs des anciens shaders qui on été remplacés par de nouveaux.
On fait comme précédemment, on sélectionne chaque bloc et on fait CTRL + DEL pour supprimer la branche complète de chaque bloc. Ici il y en a quatre 2 BSShaderPPLightingProperty, 4 NiSpecularProperty, 5 NiMaterialProperty, 11 BSShaderPPLightingProperty
Une fois terminé, on sauvegarde le fichier nif et on le ferme.
 
suppression des anciens shaders
 
Après avoir nettoyé le fichier nif il ne doit rester que le 0NiNode:
 
NiNodde seulement
 
Ensuite il faut modifier certaines valeurs des paramètres des NitriShapes
 
Pour le corps de base il faut modifier la valeur des Num UV Sets, la valeur doit être 1 au lieu de 4097. On peux aussi modifier la valeur Has Normals à No si on ne veux pas de normales sur le modèle, mais ce n'est pas nécessaire et ça permet de laisser le modèle bien visible dans Nifskope.
Propriétés des Nitishape
 
Pour les autres parties d'une armure il ne faut pas faire cette modification, seul le corps utilise des object space normals au lieu des normalmaps.
 
Avant de procéder à l'importation des nouveaux shaders, il faut encore corriger les noms des partitions de démembrement qui définissent les parties du corps
Dans le format Fallout 3 les partitions avaient des noms provenant des éléments du squelette, dans Skyrim, chaque partie du corps a un numéro. Il faut donc modifier en conséquence les valeurs DismemberBodyPartType
Partitions du corps
Dans Fallout 3 le corps avait le flag BP_TORSO, on va devoit changer cette valeur pour chaque partie du modèle. Parfois il y a deux partitions et parfois une seule. Dans certains cas il se peut qu'un modèle recouvre plus d'un élément du corps, par exemple des gants qui montent plus haut que le coude, ou des longues manches qui vont jusqu'au poignet.
 
On va mettre les nouvelle valeurs qu'n trouve dans la liste déroulante en faisant un double clic sur la ligne.
 
Pour le corps la partie s'appelle SBP_32_BODY, dans le Creation Kit on n'utilisera que le nombre 32 comme identification. Les noms des partitions sont assez explicites pour ne pas se tromper sauf si on est nul en anglais!
On fait pareil pour toutes les partitions existantes:
 
 
Puis on sauvegarde le fichier NIF et on va passer à l'étape suivante.
 
 
Mise en place des shaders de Skyrim :
 
Dans certains tutoriels vus sur le net, on utilise une méthode de création de shaders à partir du menu d'insertion de bloc de NifsKope, d'après le tuutoriel il était dit que ça marchait, mais pour mon modèle de base, ça a foiré complètement, même en mettant exactement les mêmes réglages que sur un modèle valide, le résultat était complètement pourri. Le modèle était complètement blanc sursaturé.
J'ai alors utilisé la bonne vieille méthode qu'on utilisait pour fallout 3, on copiait des blocs dans un fichier nif du même type qui marchait bien (par exemple un modèle original très semblable) dans le fichier nif à modifier.
On va donc prendre un fichier nif d'un modèle le plus proche possible de ce qu'on a réalisé et on va copier le bloc BSLightingShaderProperty du nitrishape ressemblant dans le nitrisahpe équivalent de notre modèle.
 
Pour la partie corps de base on va prendre celui d'un corps de base qui marche bien et pour l'armure celui d'une armure semblable. En prenant un armure ressemblante on maximise la chance d'avoir un shader qui donne un bon résultat. On pourra toujours par la suite ajuster le shader si nécessaire. De cette façon on aura aussi la possibilité de récupérer la partie qui définit la transparence dans un modèle. Tous n'ont pas cette fonction supplémentaire. Seules certaines armures on des parties du modèle transparentes.
 
 
On commence par ouvrir le modèle du corps de base utilisé par le jeu, ici en l'occurence, c'est un corps CBBE.
On va ouvrir le NitriShape et simplement copier toute la branche 28 BSLightingShaderProperty en faisaint simplement CTRL + C
C'est nécessaire de prendre un modèle de corps de base qui marche, parce que les shaders utilisés sont listé en bas et même si on les configure soi-même à la main et qu'on effectue les réglages exactement comme dans la liste des propriétés ça ne fonctrionne pas.
 
On ouvre alors notre fichier nif dans une autre fenêtre de Nifskope et on va copier le bloc dans ce fichier.
Il faut bien sélectionner 0NiNode avant de copier, on va ensuite mettre ce shader au bon endroit.
 
On développe 0 NiNode et on sélectionne 1 Nitrishape. On voit au bas de la liste notre shader avec le numéro de bloc 33
Dans la fenêtre de Détails de Bloc on va aller tout en bas et développer Properties. Il y a deux possibilité, dans la première, on va entrer le nombre 33 du bloc de shader.
 
On obtient de cette manière un shader compatible et bien en place. La dernière étape pour cette partie du modèle sera de vérifier les textures utilisées.
 
On développe BSLightingShaderProperty pour trouver 34 BSShaderTextureSet. Dans la fenêtre de Détails du bloc on va développer la liste de textures. Dans ce cas précis de la partie du corps de base de notre armure il n'y a rien à changer puisqu'on a utilisé le modèle de corps de base du jeu comme source pour notre shader.
 
On va passer ensuite à la partie armure de notre modèle. Comme c'est une armure avec de la fourrure on va avoir une texture avec des transparences, dans ce cas il faut utiliser comme source un modèle semblable. Par exemple le modèle de Parjure femme (forswornarmorf_0) va faire l'affaire. Il a des transparence et un aspect similaire d'armure ancienne sans effet particuliers.
 
On développe les blocs et on va rechercher le bloc concernant l'armure, le NitriShape ForswornArmorF qui est l'armure, il y a deux autres parties dans ce modèle, le corps de base et les sous-vêtements.
On va procéder exactement comme pour le corps de base, on va copier le shader et le mettre en place de la même façon.35
 
On obtient ainsi un shader fonctionnel pour notre armure. Reste encore à mettre en place la transparence.
 
On va retourner dans le fichier nif de l'armure de parjure et on va aller y copier les données du bloc définissant la transparence : NiAlphaProperty
 
Avec toujours la même méthode on copie dans notre modèle cette branche du bloc de transparence NiAlphaProperty
 
Au final on obtient rapidement notre set de shaders pour la partie armure. C'est la méthode la plus fiable à ma conaisssance, on peut essayer de paramétrer soi-même les shaders après les avoir inséré depuis le menu d'insertion de blocs de Nifskope, mais j'ai eu de mauvaises expériences avec cette méthode et en fait c'est bien moins rapide.
 
Il reste encore à changer les adresses de textures dans le shader que nous avons copié sinon on aura la texture d'armure de parjure:
 
On va simplement chnager la texture par celle qu'on aura créé pour le modèle. Comme on le voit il faut deux textures, une texture de type image RGB avec couche alpha qui contiendra dans la couche alpha les zones de transparence et une image de type normal map RGB qui contiendra les information de normal mapping (relief fin) crée à partir de la texture de base et les information de spécularité (réflectivité) dans sa couche alpha.
 
Voilà notre modèle est terminé et prêt à être utilisé et à être importé dans le jeu au moyen du Creation Kit fourni par Bethesda.
 
 
 
Importation du modèle dans le jeu avec le Creation Kit: