[TUTO] Importation de creatures de NWN I vers NWN II

Répondre
Partager Rechercher
Salut à tous.

Je vais ici, vous proposer un tutoriel pour importer les creatures de NWN I vers NWN II avec leurs animations.

Ce tuto ca etre fait en Live, c est a dire que je vais faire le modele NWN II en meme temps que je posterai ici.

Ceci me servira de bloc note afin de rediger un vrai tuto complet. Il est possible que je sois obligé de revenir sur certaines etapes que je vais vous proposer, car il y a encore quelques points sur lesquels je ne suis pas sur de la maniere de proceder.
Donc, allons y.

Premiere partie : Inventaire des softs/plug necessaires.

Il nous faut :

- 3Dsmax 8

- le plug Expotron d obsidian. ( la doc est ici )

- Le plug permettant d importer des fichiers MDL ( modeles de NWN I disponible ici ).

Un logiciel de la communauté permettant d extraire des fichiers .bif de NWN I les mdl et textures. La j ai choisi nwnexplorer, qui marche bien ( par contre impossible d importer le cube gelatineux avec ?? ).
Deuxieme partie : choix du modele

Pour ce tuto, je vais prendre le Rust monster fait par la communauté que l'on peux trouver sur le vault.

Comme ce modele n'est pas un modele issu directement de NWN I, je n aurai pas besoin de NWNexplorer.

Troisieme partie : Importation du MDL dans 3dsmax

Pour l importation, je laisse par defaut les parametres de l'importateur, sauf pour l'option Frames Between each animation que je fixe à 100, ceci afin de separer les differentes animations.

Un petit render pour voir ce que ca donne. Bon, c est pas mal, mais anguleux. La texture est en tga en 256*256, ce qui est pas trop mal, car les monstres standards de NWN I on une texture de 64*64.

A noter, que les modeles de NWN I n'ont pas de Bump map.

Il faut imperativement en creer une sinon, le modele ne s affichera dans NWN II
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : render_0.png
Taille : 800x600
Poids : 63,1 Ko
ID : 45379  
Images attachées
 
Quatrieme partie : Nettoyage du squelette

Bon, voyons le squelette.

Tout d abord regardez la racine du squelette, appelée ici fen_rustmonster

Cette racine ne sera pas reconnue par NWN II, il faut la supprimer, mais avant de le faire, si vous regardez les proprietées de l'objet vous voyez la liste de toutes les animations attachées ainsi que les frames correspondantes a chaque animations.

Par exemple l'animation cwalk qui correspond à la marche commence à la frame 101 et se termine à la frame 146.

Notez chaque animation qui vous interresse afin de les retrouver facilement apres.

Continuons dans le squelette.

Vous trouverez un objet dummy appelé dummyroot ce noeud n est pas reconnu par NWN II, supprimez le.

Voila, le reste vous pouvez le garder.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : squelete_0.png
Taille : 405x657
Poids : 17,0 Ko
ID : 45382   Cliquez sur l'image pour la voir en taille réelle

Nom : anims.png
Taille : 188x900
Poids : 13,0 Ko
ID : 45383  
Cinquieme partie : Ajout des attachment point et des collisions spheres.

Bon, c est cette etape sur laquelle je ne suis pas sur, je serai peut etre amené a revenir dessus.

Il nous faut au moins 4 attachment point :

ap_halo : point d attachement qui permet de d afficher le statut de la creature

ap_camera : permet de faire une image de la creature ( pour les portraits je pense )

ap_torso : permet d avoir un point d attache pour les sorts arrivant sur la creature

ap_forehead pour les sorts partant de la creature.

Vous pouvez en rajouter d autres, en fonction de la creature.

Ces attachment point, sont des helper box de 3dsmax rattaché au squelette. Il faut les typer attachment point dans expotron.

Il faut egalement rajouter Les spheres de collisions, ces spheres nommées COLSXX ( XX un chiffre de 00 à 99) sont a rattacher au squelette. Pour cette creature, et par mesure de simplicité je n en créerai qu une.

Derniere chose tres importante renommer la racine du squelette en c_xxxx.

c = creature
xxxx nom de la creature

dans cet exemple : c_rustm


Voila a quoi ressemble la hierarchie du squellete une fois terminée
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : squelete_1.png
Taille : 405x657
Poids : 17,1 Ko
ID : 45386  
Sixieme partie : Construction du modele .

Il faut faire un mesh unique de toutes les parties du squelette.

Choisissez toutes les parties du squelette sauf les points d attachement et les spheres de colisions.

Mergez le tout et appelez le resultat c_xxxx_cl_body01

le xxxx doit etre le nom de la creature.

ici : rustm

Avec faites une normal map avec la texture recuperée dans la troisieme partie de ce tuto.

Transformez la texture tga en dds.

Appliquez ces deux textures au c_xxxx_cl_body01

J en ai profité pour adoucir un peu le modele.

Un petit render

C est deja mieux non ? Bon, on peux faire beaucoup mieux, mais ce n est pas le propo de ce tuto
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : render_1.png
Taille : 697x516
Poids : 113,2 Ko
ID : 45388  
Septieme partie : transformation du mesh en skin

Appliquer sur le c_rustm_cl_body01 un modificateur skin.

Cliquez ajoutez les bones du squelette ( dans le modificateur skin, cliquez sur add).

Definissez ce mesh comme un type skin dans expotron.

Ne pas oublier : Mettre dans expotron le nom du squelette ( tout en bas du plug expotron). Le nom du squelette correspond à la racine de ce dernier. Soit ici : c_rustm_skel

Pour les collision sphere, la encore j hesite, faut il en avoir une au niveau du modele ? Je ne sais pas donc, pour l instant je vais m en passer.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : bones.png
Taille : 184x859
Poids : 14,8 Ko
ID : 45391  
Huitieme partie : export du squelette.

La il y a un truc :

Ne pas utiliser la doc d obsidian, mais la methode suivante :

Selectionner le c_rustm_cl_body01.

L exporter le squelette avec le nom suivant ( remplacer rustm par le nom de votre creature ) : c_rustm_skel

Ne prendre que les models dans expotron comme sous le screen. Decocher le move to origin.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : export_skel_0.png
Taille : 640x480
Poids : 13,3 Ko
ID : 45392  
Dixieme partie : exportation des anims.

Bon, la je vais exporter les animations.

Je vais deja m occuper de l animation idle.

Donc, on reprend les frames notés dans la quatrieme partie de ce tuto.

La, pour l idle, j avais noté frames de 1041 - 1071

J exporte donc cette animation avec expotron.

Important, l animation idle demande deux fichiers identiques :

c_rustm_idle

et

c_rustm_una_idle ( una = unarmed, sans armes ).

Donc, on choisi le c_rustm_cl_body01. On export avec expotron.

On deplace le curseur oversampling completement à droite.

Et on renseigne le "orientation curve tolerance" à 0.15.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : export_anim.png
Taille : 624x979
Poids : 25,8 Ko
ID : 45400  
Partie finale

Voila, renseignez correctement l'apparence.2da ( moi j ai pris exemple sur le badger).

Creez une nouvelle creature donnez lui l apparance "rust monster".

ET hop un nouveau monstre !

il rend pas trop mal non ?

Bon, la c est des screens, on ne vois pas l anim, mais je vous assure que ca fonctionne

Ensuite, pour terminer la creature, vous reprenez la dixieme partie de ce tuto, et la repetez pour chaque animation. ( la liste des animation de base est dispo dans la doc expotron citée au debut de ce tuto ).

Voila, j espere que c est assez clair. Et que vous avez pris plaisir à lire ce tuto.

Si vous avez des questions, des remarques n hesitez pas.

PS : maintenant, je n ai plus qu a terminer le rust monster.
Miniatures attachées
Cliquez sur l'image pour la voir en taille réelle

Nom : screen_1.png
Taille : 572x566
Poids : 684,1 Ko
ID : 45409   Cliquez sur l'image pour la voir en taille réelle

Nom : screen_2.png
Taille : 607x710
Poids : 807,6 Ko
ID : 45410  
Bon, je vous met une petite video de l'animation Idle.

Le coté haché est du a la capture video, en jeu l'animation est fluide.

Il me reste a verifier que la sphere de colision a bien été prise en compte.

La video est ici ( click droit, enregistrer sous )

Ou la :

C'est moi ou le centre du modèle ne change jamais de position( que ce soit en x, en y ou en z ), ça tourne autour, ça bouge les membres,... cependant ou dirait qu'une composante de l'animation a été supprimée, le déplacement du noeud principal.

Maintenant c'est peut-être justement moi.(ça viendrait pas d'un truc style "move to origin" ou quelque chose du genre ? peut-être que le déplacement du modèle était mis sur le dummy_root qui a été supprimé)
Citation :
Publié par Anthraxcite
C'est moi ou le centre du modèle ne change jamais de position( que ce soit en x, en y ou en z ), ça tourne autour, ça bouge les membres,... cependant ou dirait qu'une composante de l'animation a été supprimée, le déplacement du noeud principal. Maintenant c'est peut-être justement moi.(ça viendrait pas d'un truc style "move to origin" ou quelque chose du genre ?)
Il n est pas impossible que j ai merdé quelque part dans une manip. Et il est possible que certaines anims aient besoin d etre retravaillées un peu.

De toute façon, avec le tuto j uploadrai mon fichier max, comme ca tout le monde pourra l'ameliorer .

Tout le monstre m'a pris 4 heures de travail, y compris l ecriture du tuto. La methode est rapide et j espere permettra de voir de nouveaux monstre apparaitre dans NWN II.
wai certaines creatures vont etre interessantes à récupérer, sauf qu'il va falloir refaire les animes, ajouter un peu plus de polygone, redessiner les textures...

Et perso, j'ai pas envie de me lancer dans la 3d, c'est trop long a maîtriser... Mais bon ,c'est toujours bon de voir 2 ans aprés sa sortie que sa commence a bouger...
Citation :
Publié par paladin3333
wai certaines creatures vont etre interessantes à récupérer, sauf qu'il va falloir refaire les animes, ajouter un peu plus de polygone, redessiner les textures...

Et perso, j'ai pas envie de me lancer dans la 3d, c'est trop long a maîtriser... Mais bon ,c'est toujours bon de voir 2 ans aprés sa sortie que sa commence a bouger...

refaire les animations, non, quand je dit les retravailler c est juste les alonger un peu, ou ce genre de chose, pour qu elle soient plus ou moins rapide.

Rien de bien difficile a faire

Ah oui, j oubliais, au depart, j ai pas fait gaffe, mais le modele est legerement incliné. Ce qui influe sur toutes les positions. Mais n oublions pas que c est un modele qui a été fait au depart par la communauté et que ce probleme ne doit pas se retrouver dans les modeles de bioware.

En fait je suis une grosse feignasse et je n ai pas voulu m embeter a redresser le modele
Le plugin est disponible sur cette page

http://gr2decode.altervista.org/index.html


Lisez attentivement se qui y'est écrit ainsi que le commentaire de l'auteur sur le forum d'orgine.



frederico"
i post here a little video showing the skeleton and animation importer. I had to swith back in 3dsmax format because the SMD format doesn't support this kind of keyframe manipulation (the rotation and position keyframe are distinct and asymmetrical). The NeverwinterNight2 skeleton importer has done the main part of the job. I only deleted some useless parts that could crash the import process and I found different errors in the animation part. Strange errors that I (an unprofessional) was able to find quite easily. So i think that the importer was working and unreleased to avoid a legal battle with the owners. Do you like this "inside-job" theory? Too conspirational for thew game industry? %5Bcolon%5DD.gif
Some gr2 files have a different rotation format for the keyframes (the skeleton is working for all the model I tried). I thinlk I can solve this and release the plugin with the source. Do you think that the old scary Granny would sue me in a court of law for this? no, seriously, in your experence is that illegal?"

Le plugin est pour 3ds max 8 mais il y'a les sources disponible pour les autre versions.
Citation :
Publié par Anthraxcite
Maintenant c'est peut-être justement moi.(ça viendrait pas d'un truc style "move to origin" ou quelque chose du genre ? peut-être que le déplacement du modèle était mis sur le dummy_root qui a été supprimé)
Citation :
Publié par ArPharazon
EDIT : There is a missing part in this tuto. We must remap the anim on the dummy root to the root of the new skeleton. I will update this soon.
J'aurais pioché juste finalement ? Si avec cette correction l'animation pouvait être égale à celle de nwn ce serait top !
Citation :
Publié par Anthraxcite
J'aurais pioché juste finalement ? Si avec cette correction l'animation pouvait être égale à celle de nwn ce serait top !
Tu as mis pile poil le doigt dessus :
J'ai commencé à suivre le tuto mais j'ai un soucis avec Expotron. Un fois bien installé (au début j'avais pas mis la .dll où il fallait ), ben je vois pas comment le lancer ... il devrait pas être dans le menu Tools/Expotron ?
Moi, j'ai créé un bouton dans le dernier onglet du panneau de droite... je sais c'est pas forcément lumineux comme explication, mais j'ai pas max sous la main là.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés