|
Les armes, boucliers et divers objets mobiles: |
|
|
Cette partie du tutoriel sur les modèles pour Skyrim va co0ncerner les objets mobiles divers qu'on trouve dans le jeu. |
|
En effet, il y a plusieurs catégories d'objets, les objets animés comme les personnages, les armures ou vêtements qu'ils portents, une autre catégorie ce sont les éléments fixes du décor qu'on ne peut pas déplacer dans le jeu et enfin il y a une troisième catégorie qui sont les objets mobiles. |
Les objets mobiles sont ceux qui sont soumis aux règles de la physique, ils ont une enveloppe de collision, un poids, on peut les porter, les jeter, les pousser. Mais ces objets n'ont pas animation, ils sont simplement soumis au moteur physique pour leur placement. |
Ils ont divers usages, le plus simple c'est de servir d'objets mobiles dans le décor, ça donne un effet plus réaliste que si tout était complètement fixe, mais il y a un inconvénient, c'est le fait que le moteur physique doit gérer leur comportement en temps réel ce qui entraîne un grosse charge de travail. C'est la raison pour laquelle ils sont généralement en nombre limité. |
|
Un autre usage évident c'est les armes, les boucliers, tout ce que le joueur peut utiliser comme équipement actif. |
Mais il y a aussi les objets que le joueur peut prendre dans son inventaire à part les armes et similaires, par exemple les armures. On ne peut pas utiliser le modèle que le joueur ou le PNJ revêt comme modèle au sol ou modèle world comme on les appelle. C'est du au fait que les armure et autres pièces d'équipement comme les casques, gants, colliers, bottes sont soumis aux animations du personnage qui les porte. |
Dans ce cas on va devoir faire un deuxième modèle réservé à l'usage de l'inventaire et au placement dans la carte du jeu. C'est ce qu'on appelle le World Model. |
|
|
On va commencer ce tutoriel par ce type de modèle destiné à représenter une pièce d'équipement comme une armure lorsqu'elle est placée dans la carte. |
|
|
Les World Model : |
|
|
Comme on a déjà un modèle pour notre armure dans Blender, on va simplement l'utiliser et l'adapter à l'usage World. |
Souvent dans le jeu d'origine le modèle World est très simplifié, on peut représenter un vêtement comme un paquet très simple avec la texture du vêtement dessus, ça a l'avantage de soulager le jeu parce que le modèle comporte peu de polygones. Pour une armure plus rigide qu'un vêtement on est obligé de donner un volume plus important avec une forme qui suggère l'aspect général. |
Mais si on n'est pas particulièrement attentif à vouloir optimiser au maximum la performance, on peut très bien utiliser le modèle complet de l'armure et l'ajuster pour qu'il ait l'ait d'avoir été déposé sur le sol. |
|
La première chose à faire est d'éliminer tout squelette, on va éliminer le modèle du corps bien sur qui n'a pas lieu d'être pour une armure déposée au sol, puis on va faire pivoter le modèle de manière à le placer face contre terre. On va ensuite le mettre sur la ligne du sol de façon à ce qu'il semble naturellement déposé. |
On peut rassembler des éléments séparés, les empiler par exemple, les applatir si ce sont des éléments souples ou encore les replier pour former un paquet. Pensez à faire en sorte que le modèle ait un aspect stable sur le sol pour que ce soit le plus réaliste possible. Il faut également placer le centre du modèle sur l'origine de la scène le point (0,0,0)tuto |
|
 |
|
Une fois que ce sera fait on peut exporter le modèle au format NIF comme on l'a fait pour le modèle d'armure animé, mais sans squelette lié. |
Voir exportation d'un modèle. |
|
On va alors obtenir un modèle au format NIF de type Fallout 3. |
Reste à convertir ce modèle vers un modèle de Type World pour Skyrim. |
|
On va utiliser la bonne vielle méthode du copier / coller dans Nifskope. |
|
Mais cette fois, on ne va pas travailler dans le modèle qu'on a exporté pour le modifier, mais on va simplement importer la partie géométrie du modèle et son shader dans un fichier NIF World Model existant et ensuite y modifier certaines propriétés. |
|
On va donc rechercher un modèle de type world aussi proche que possible du notre parmis les fichiers du jeu originel, une armure genre armure d'acier fera tout à fait l'affaire. |
|
Avant de procéder à la copie des données, il faut encore convertir le fichier NIF de type Fallout 3 vers un format Skyrim, tout comme on l'a fait pour le modèle d'armure. |
|
On ouvre le fichier qu'on vient d'exporter et on va faire les modifications habituelles du header: |
On remplace User Version par 12 et User Version 2 par 83 puis on sauvegarde le fichier et on l'ouvre à nouveau pour voir que Nifskope a bien converti. |
 |
|
On voit que les blocs incompatibles ont été extraits, on va ouvrir le 0NiNode et on va simplement faire la copie de la branche NitriShape. |
|
 |
|
|
On ouvre le fichier World Model de l'armure d'acier cuirasssteelgo.nif dans Nifskope et on va étudier ce qu'il contient: |
C'est un fichier modèle de type BSFadeNode. |
Il contient plusieurs objets, un NitriShape qu'on connait bien, la géométrie du modèle, mais il y a aussi un deuxième objet, nommé bhkCollisionObject |
C'est cet objet qui va définir les propriétés physique du NitriShape qui y est lié à travers le BSFadeNode. |
 |
Avant d'aller plus loin, on va supprimer le bloc NitriShape de l'armure d'acier dont on a pas besoin. |
|
 |
|
Examinons ensuite l'objet qui reste, le bhkCollisionObject. Il est composé d'un objet nommé bhkRigidBody qui contient un modèle 3D nommé bhkConvexVerticesShape |
Ce bhkRigidBody va contenir les propriétés physique du BSFadeNode, et la collision avec le monde va être faite à partir de l'objet bhkConvexVerticesShape. |
On utilise cet objet simplifié pour alléger le calcul du moteur physique, c'est la forme de cet objet qui va donner le comportement général. Si il a des faces plates et perpandiculaires, l'objet sera très stable et ne roulera pas, si il est rond, l'objet va facilement rouler et se balancer. Ici on a une forme assez plate, mais avec des bords relevés ce qui rendra l'objet assez stable mais qui pourra basculer assez facilement tout de même. C'est pour cette raison qu'il faut choisir un modèle ayant un aspect semblable au notre afin qu'il ait un comportement au sol adéquat. |
M |
|
Nous allons maintenant coller le Nitrishape de notre modèle dans ce 0 BSFadeNode : |
On sélectionne ce BSFadeNode et on fait CTRL + V pour copier le NitriShape de notre armure. |
Ce NitriShape va immédiatement se coller au bon endroit dans le 0 BSFadeNode. |
 |
|
Mais on a encore un problème, on n'a pas de shader pour notre modèle vu que la conversion au format Skyrim l'a extrait pour incompatibilité. |
La solution la plus simple c'est de copier ce shader à partir du modèle NIF de l'armure qu'on a fait avant. |
On ouvre notre modèle d'armure dans NifSkope et on copie le shader comme on l'a fait déjà pour ce même modèle. De cette façon on est sur d'avoir le même shader. Si il y a une transparence il faudra aussi copier le NiAlphaProperty. |
|
On va avoir alors notre World Model prêt à être configuré. |
La première chose importante à faire c'est d'ajuster le shader qu'on a copié du modèle d'armure, en effet le World Model ne supporte pas le Shader Flag SLSF1_Skinned, il faut l'enlever de la liste. |
 |
|
Ensuite on peut modifier les valeurs physiques de l'objet |
Dans le champs Layer, il faut que ce soit le type OL_CLUTTER qui définit les objets du décor normaux, si c'est une arme ce sera OL_WEAPON |
On va également définir la masse qui doit normalement correspondre à ce qu'on a définit dans le Creation Kit, mais ce n'est pas important que ce soit pareil. |
|
 |
|
On peut encore définir deux choses, la première c'est le matériau de l'objet, c'est définit dans bhkConvexVerticesShape |
Il y a une liste déroulante des matériaux disponibles, choisissez un matériau qui produira le son correct lors des chocs par exemple. |
 |
|
La dernière chose qu'il faudra peut-être modifier c'est l'angle de positionnement du modèle dans les menus du jeu. |
L'angle de 1570 comme définit dans cette image donnait pour mon modèle une position inversée, j'ai mis la valeur 4712 qui donne un orientation correcte. Tout dépend du sens dans lequel vous avez basculé votre modèle dans Blender. |
 |
|
Voilà, plus qu'à sauvegarder et à tester dans le jeu, ce World Model ne nécessite pas d'autre configuration dans le Creation Kit, il a simplement été choisi comme World Model pour notre armure dans l'objet Armor de l'Object Window de l'éditeur. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|