Nettoyage, Optimisations et corrections.
Cet utilitaire peut être utilisé pour vous éviter pas mal d'inconvénients provenant de fichiers mal conçu, contenant des bugs potentiels. Je vais tenter ici de vous fournir le maximum d'informations concernant ces divers problèmes.
Nettoyage des cochonneries inutiles.De nombreuses personnes utilisent Nifskope pour bidouiller des fichiers, afin de modifier divers éléments. Malheureusement, elles ne nettoyent pas leurs fichiers et y laissent trainer de nombreux éléments parasites. Bien que ces derniers ne risquent pas normalement de provoquer de problèmes, il est néanmoins préférable de faire le ménage, ceci pour y voir plus clair dans un premier temps, et surtout pour réduire la taille du fichier, il arrive ainsi de gagner plusieurs centaines de ko uniquement par cette simple opération de nettoyage.
a- Identifier les éléments parasites.Ceci est extrêmement simple, lorsque vous ouvrez un fichier sous Nifskope, la fenêtre intitulée «
Block List » ne doit contenir qu'une seule ligne précédée d'un signe «
+ », toujours intitulée ainsi :
'+ 0 NiNode Scene Root <==Cette dernière mention peut néanmoins être tout autre, ceci n'a aucune importance.
Tout le reste n'a aucune utilité. Vous pouvez de ce fait supprimer toutes les cochonneries qui excèdent cette première ligne. Bien entendu, ne supprimez rien à l'intérieur du NiNode, et ne cliquez donc pas sur le signe «
+ » qui le précède. Car seules les données liées à ce premier NiNode sont utilisés.
b- Comment nettoyer.Ici encore rien de bien compliqué, commencez par sélectionner la dernière ligne, effectuez un clic droit puis choisissez «
Block => Remove Branch ».
Poursuivez ainsi jusqu'à ce qu'il ne vous reste plus que la première ligne.
Nettoyage du Fichier à proprement parlé.Utiliser les Sortilèges. Vous aurez noter que Nifskope dispose d'un onglet intitulé « Spells », qui est justement fait pour l'opération de nettoyage qui nous intéresse. Nous allons poursuivre la cure d'amaigrissement de notre fichier par le nettoyage du fichier en lui même. De la même façon que lors de l'opération précédente, il arrive également que diverses informations reliquats du processus de Modding soit demeuré au sein du fichier alors qu'elles n'ont aucunes utilités.
La plupart du temps, un simple coup d'oeil en développant le « + » placé devant le Ninode vous permettra de connaître les « sortilèges » que vous allez devoir utiliser. Néanmoins, il n'y a ici aucun risque, vous pouvez tous les utiliser les uns après les autres, certains n'auront simplement aucune action.
a- Stripifier les meshes.Dès l'instant où vous notez la présence de «
NiTriShape » dans votre fichier vous savez déjà que vous allez pouvoir réduire sa taille. Bien qu'Oblivion gère indifférement ce format de « meshe », il est préférable uniquement pour une question de taille du fichier de transformer toutes ces données en «
NiTriStrips ».
Pour ce faire, il vous suffit de sélectionner «
Spells => Optimize => Stripify all TriShapes ».
*-NOTA : Pensez à bien vérifier l'intégrité de vos meshes après cette opération. Il peut arriver qu'un Meshe ayant été mal conçu possède des « trous » dans sa structure après cette opération. Ce phénomène intervient généralement dans un meshe dont les normales n'ont pas été réalignés vers l'extérieur. Il vous est parfois possible de rectifier le problème en utilisant l'une des fonctions suivantes qui nécessitent que vous ayez sélectionner le NiTriStrips en question:
Clic droit => Meshes => Face Normals et/ ou Update Tangent Space.
b- Supprimer les NiNode Non Utilisés.Vous trouverez régulièrement des NiNode aux seins de vos fichiers qui ne servent à rien. Habituellement, vous les trouverez surtout dans les fichiers relatifs aux personnages, vêtements, armures, etc... De nombreux moddeurs importent la totalité du squelette dans un logiciel 3D afin de lier les divers « meshes » au squelette. Néanmoins il est bien évident qu'en fonction des objets, l'intégralité du squelette ne sera pas utilisé. Il convient en ce cas de nettoyer les « os » qui n'ont aucune utilités dans votre fichier. Plus rarement, cette fonction permettra également de nettoyer d'autres données qui ont été omises par un moddeur peu précautionneux.
Pour effectuer notre nettoyage rien de plus simple :
Patientez quelques secondes, si rien ne se passe c'est que votre fichier ne contenait aucun élément inutile. Dans le cas contraire vous verrez apparaître une petite fenêtre vous indiquant le nombre de Ninode ayant été supprimés.
c- Combiner les Propriétés.Ce sortilège n'a par contre pour sa part qu'un rôle d'optimisation. Il va étudier chaque propriété présente dans le fichier et combiner ensemble toutes celles qui ont la même valeur. Elle ne sert donc que dans le but de faire maigrir votre fichier.
Pour effectuer notre nettoyage rien de plus simple :
Patientez quelques secondes, si rien ne se passe c'est que votre fichier ne contenait aucune propriété identique. Dans le cas contraire vous verrez apparaître une petite fenêtre vous indiquant le nombre de propriétés ayant été combinées.
*- NOTA : Le sortilège «
Split Properties » permet exactement de faire l'inverse et donc d'annuler la fonction précédente. Ceci peut vous être utile si vous désirez importer votre fichier au sein d'un logiciel de modelage 3D, car la plupart du temps, tous les « meshes » disposant d'un même « matérial » seront considéré comme étant un seul et unique objet.
Ajuster les paramètres.Il y a encore quelques bricoles à ajuster, afin que notre fichier soit optimisé au mieux.
a- Ajuster les valeurs des tables.Les diverses modifications précédentes ont probablement modifiés les valeurs des tables internes, «
Adjust Link Array » permet de réajuster ces valeurs afin qu'elles correspondent exactement aux éléments qu'elles contiennent.
b- Ajuster les paramètres des Textures.Bien que la majorité des Moddeurs connaissent ce problème, l'on rencontre encore de temps à autre ce problème. Le moddeur n'a pour sa part aucun problème sur son ordinateur, mais la majorité des autres personnes ayant téléchargés sont Mod se plaignent de textures manquantes. Il ne s'agit pas en fait exactement de celà, mais plus précisément d'un chemin erroné. Il vous suffit pour corriger ceci de développer l'arborescence de chaque
NiTriStrips, jusqu'à atteindre la ligne «
NiSourceTexture ». Cette dernière doit
IMPERATIVEMENT commencer par «
textures\ ». Si ça n'est pas le cas, effectuez un double clic sur la ligne en question et supprimez
TOUT ce qu'il y a avant « textures ». Pensez également à l'orientation des «
\ » qui ne doivent surtout pas être des «
/ », ces derniers étant également sources de problème.
Les divers Plug-In permettant d'exporter un modèle au format nif, ne sont pas toujours parfaitement paramètrés, c'est par exemple le cas de celui dédié à Blender qui omet toujours quelques paramètres au niveau des textures. Cette fonction permet de remédier à ce problème.
c- Ajuster les Blocs Havok.La fonction suivante «
Reorder Havok Blocks » demeure pour moi un mystère. Je continue néanmoins à l'utiliser bien que n'ayant jamais constaté le moindre changement du fait de son utilisation.
*- NOTA : Le cas des collisions :Mon fichier utilisé en exemple ne contient aucune collision, néanmoins j'en profite avec un autre exemple pour éclairer un point important qui peut être à l'origine de crash aussi bien du CS que d'Oblivion. Lorsque vous développez (en cliquant sur les «
+ ») un arbre de collision, vous devez veiller à ce que les numéros d'index de chacun des éléments soit décroissant. La (ou les) terminaison de l'arbre doit toujours avoir la valeur la plus faible. Chaque branche au-dessus devant avoir une valeur croissante. Ce point est vraiment
IMPORTANT.
Si la valeur de l'un de ces éléments n'est pas correct, il vous suffit de le sélectionner l'élément en question puis à l'aide d'un clic droit de sélectionner «
Block » puis «
Move Up » ou «
Move Down » suivant la valeur que vous devez atteindre.
d- Ajuster les liens.Cette fonction vous permet simplement de compresser l'index des numéros, afin de combler les chiffres manquants provenant des diverses procédures que nous avons utilisés.
e- Ajuster la valeur des Flags.Il nous reste plus que quelques bricoles avant d'en avoir fini. Chaque
NiTriShape ou
NiTriStrips une fois sélectionnée, vous fournis des informations supplémentaires dans la fenêtre «
Block Details ». L'une d'entre elles nous intéressent car elle peut être parfois à l'origine de bugs agaçants. Vérifiez la valeur du chiffre suivant l'indication «
Flag » si elle est différente de «
14 », effectuez un double-clic sur ce chiffre et changez sa valeur pour la passer à
14.
f- Mise à jour.Nous arrivons au terme de ces vérifications, il ne nous reste plus qu'à faire la mise à jour du fichier.
g- Sauvegardez.Voilà, un petit clic sur «
Save As » et vous en aurez fini.
Prenez néanmoins garde à ce que la dénomination de votre fichier corresponde bien à votre fichier d'origine. Il arrive parfois que Nifskope vous joue des tours en conservant le nom d'un fichier précédent. Ceci ne m'est plus arrivé depuis longtemps avec les nouvelles versions, mais faîtes y attention, ça ne coute rien
Conclusion.Tout ça pour quoi ?
En plus d'avoir maintenant un fichier parfaitement fonctionnel, le fichier de mon exemple avait à l'origine une taille de 513 ko, grâce à ces optimisations il ne fait maintenant plus que 322 ko. Soit une économie de près de 200 ko de cochonneries. Bien évidemment ceci peut vous paraître modeste, mais si vous procédez de même pour vos autres fichiers (y compris parfois ceux de Beth) vous réduirez d'autant la charge de votre processeur. Et à terme vous finirez par gagner quelques précieux FPS, tout en réduisant le nombre de bugs.