Bienvenue sur Blender.LODweb.com

DÉDIÉ À BLENDER et aux LOGICIELS gratuits du MULTIMÉDIA


  Utilisateur - Articles - Téléchargements - Tutoriels - Liens  
    Rechercher  
  Bienvenue sur LODWEB
 
Connexion
Pseudo

Mot de passe


Mot de passe perdu ?

Pas encore membre ?
Inscrivez-vous !

Navigation
Accueil
Articles
Proposer article
Archives
Tous les articles

Liens Webs
Proposer
Populaires
Mieux notés

Téléchargements
Proposer
Populaires
Mieux notés

Tutoriels

Qui est en ligne ?
 2: invité(s)
 0: membre(s)

Vous êtes Visiteur.
Inscrivez-vous maintenant !

LODWEB'News : Des objets à gogo...
Posté par Visiteur le 9/5/2005 8:16:30 (6732 lecture(s))

Cet article explique comment se faire une énorme librairie de modèles BlenderGame prêts à l'emploi pour vos jeux.

Le principe est le suivant ... télécharger des modèles sur le site de la communauté NeverWinterNight et les convertir au format blender.

Accrochez-vous .. faut le permis de conduire ...

NEVER WINTER NIGHT:
==================

c'est un jeu sorti au alentour de 2000
ce jeu marche sous windows, linux et Mac
il est fourni avec un éditeur de niveau hyper puissant
il offre la possibilité aux utilisateurs d'enrichir le jeu avec leur propres objets ou de mofifier les objets du jeu

Un telle ouverture a très rapidement séduit les internautes .. et de nombreux joueurs ont rendus disponibles leur modèles, leur cartes, leur scripts .. etc .. etc
constituant ainsi une gigantesque base de donnée en ligne sur le site:
http://nwvault.ign.com/


RECUPERATION DES HAKPACKs:
==========================

Lorsque vous allez sur le site NWVault vous vous retrouvez face à des tonnes de fichiers téléchargeables dont il est difficile de comprendre à quoi ils peuvent servir.
Dans le cadre de la rubrique (un jour .. un modèle) nous nous intéresserons uniquement aux hakpack contenant:
- soit des placeables
- soit des créatures
Utiliser donc ces termes (mots-clés) pour orienter vos téléchargement sur ce site..

Lorsque vous avez téléchargéun hakpack, il faut d'abord le décompresser (ils sont généralement fournis en .zip ou .rar)

ce faisant, vous obtiendrez un ou plusieurs .hak.

EXTRACTION DU CONTENU DES HAKPACK:
==================================

Ensuite, il faut ouvrir ce(s) hakpack(s) avec NWNViewer de zoligato
http://nwvault.ign.com/View.php?view=Other.Detail&id=340

Une fois ouvert dans NWNViewer, vous pouvez extraire le contenu de ce hakpack en cliquant bouton gauche dans la liste puis en choisissant, dans le menu contextuel qui apparaît, l'option "Extract All"

Parmi les fichiers extraits, vous pouvez ne garder que les .mdl, les .tga et les .dds


DECOMPILATION DES MODELES:
==========================
Les modèles sont contenus dans les fichiers .mdl
Commencer par ouvrir un fichier mdl avec un éditeur de texte.
Si le fichier mdl est un fichier texte il est prêt à l'emploi .. n'y touchez pas.
Si, par contre, le fichier mdl est un fichier binaire (il apparaît plein de symboles cabalistiques à l'ouverture) il va falloir le décompiler.
Pour ce faire, on peut utiliser le programme nwnmdlcomp.exe

Voici le script que j'utilise pour exécuter cette tâche:


#!/bin/sh
for i in `ls *.mdl`; do
nwnmdlcomp -d $i
mv $i $i.bin
mv $i.ascii $i
done


Je ne sais plus où j'ai trouvé le programme nwnmdlcomp.exe. mais ce n'est pas très grave car je crois savoir qu'il existe un autre utilitaire réalisant la décompilation
https://sourceforge.net/project/showfiles.php?group_id=51061
Par ailleurs, lors de son exécution, le programme nwnmdlcomp vérifie que vous avez NeverWinterNight d'installé sur votre machine (ce qui n'est pas forcément le cas de tout le monde)

Je vous rassure .. il y a beacoup de modèles au format texte ... vous devriez pouvoir vous passer de cette étape.


TRAITEMENT DES TEXTURES:
========================

Les images fournies dans les hakpack peuvent être de 3 formats différents: .tga, .dds .. ou .plt

les images .tga sont faciles à manipuler dans Blender .. donc nous n'y touchons pas (JMS préfère les png)

les images .dds sont des textures adaptatives que Blender ne sait pas gérer
il nous faut donc les convertir en un autre format
L'utilitaire DDSTools.exe permet de faire cette conversion
Il prend un fichier .dds en entrée .. et fournit plusieurs .tga en sortie (un par niveau de detail)

Voici le script que j'utilise pour convertir les dds:


#!/bin/sh
for i in `ls *.dds`; do
ddstools -d $i
done


comme je l'ai dit plus haut, ce script fournis plusieurs .tga
J'utilise cet autre script pour ne garder que la meilleure texture (la plus détaillée) et supprimer les autres:


#!/bin/sh
for i in `ls *.dds`; do
j=`echo $i | cut -d'.' -f1`
mv $j"0.tga" "$j.tga"
mv $j"1.tga" "$j1.tga.old"
mv $j"2.tga" "$j2.tga.old"
mv $j"3.tga" "$j3.tga.old"
mv $j"4.tga" "$j4.tga.old"
mv $j"5.tga" "$j5.tga.old"
mv $j"6.tga" "$j6.tga.old"
mv $j"7.tga" "$j7.tga.old"
mv $j"8.tga" "$j8.tga.old"
done



Quant aux fichiers .plt, il me semble que ce sont des textures dont les tonalités (les couleurs dominantes) sont configurables dynamiquement.
Elles sont utilisées pour les personnages du jeu (car les joueurs peuvent choisir la forme et la couleur de leurs vêtements)

En ce qui me concerne, je n'ai jamais tenté d'en utiliser ..
mais j'ai entendu dire qu'il existait un plugins Gimp pour les manipuler
D'autre part, j'ai trouvé cet utilitaire qui semble permettre de les convertir :
http://www.lordemil.com/NWN/pltcon.exe

IMPORTER LES MODELES TEXTURES DANS BLENDER:
===========================================

Bien, nous avons à présent les modèles au format texte et les images au format tga.
Nous pouvons les importer dans Blender

Pour ce faire, il existe deux scripts d'import de fichier MDL :
L'officiel :
http://www.beastwithin.org/users/wwwwolf/games/nwn/gametools/neverblender/
http://projects.blender.org/projects/neverblender/
le mien:
http://www.zoo-logique.org/3D.Blender/zip/LoadMDLv06.zip

Concernant le mien .. il marche dans la majeure partie des cas mais il plante sur certains MDL .. (y'a encore des trucs à corriger)
j'ai eu des problèmes avec les noms des images .. les noms dans les MDL sont en minuscules alors que les fichiers contiennent des majuscules
du coup, j'ai pris le parti de ne traiter que les images dont les noms sont en minuscules
mais pour que ca marche, il faut mettre les nom d'images soient en minuscules
(je travaille à une autre moulinette permettant de mettre tous les noms d'images d'un répertoire en minuscule)

LE BATCH PROCESSING SOUS BLENDER:
=================================

Lorsque vous aurez vu la quantité de modèles disponibles sur le site, vous vous rendrez vite compte que traiter les modèles un par un est un travail titanesque.

Aussi, pour me simplifier la vie .. j'ai mis en place un utilitaire de batch processing sous blender dont voici une explication sommaire du principe de fonctionnement.


Sur mon disque dur, j'ai créé une arboresence
c:\aurora\
c:\aurora\rep1
c:\aurora\rep2
etc ..
c:\aurora\repn


j'ai placé mes fichiers mdl décompilés ainsi que les images tga dans les répertoires "c:\aurora\repx"
Ensuite, je commence par obtenir la liste de mes fichiers mdl par la commande:


.find . -name '*.mdl' > filelist


cette commande écrit dans le fichier "filelist" la liste des fichier mdl sous la forme:


./rep1/fichier1.mdl
./rep2/fichier2.mdl
./rep2/fichier3.mdl
etc ...


ensuite je lance le script suivant:


echo "rem" > go.bat
for f in `cat filelist`; do
filerad=`echo $f | cut -d '/' -f3 | cut -d'.' -f1`
filedir=`echo $f | cut -d'/' -f2`
cat script.py > $filerad.py
echo "LoadMDL('c:\\Aurora\\$filedir\\$filerad.mdl')" >> $filerad.py
echo "blender -P $filerad.py">> go.bat
echo "del $filerad.py" >> go.bat
done


Ce script génère , pour chaque entrée dans le fichier filelist, un script important le fichier mdl concerné en ajoutant à la fin du script.py (qui est une version modifié de l'importeur dont j'ai parlé précédemment) l'appel à la commande LoadMDL('nomfichier')
Il rajoute également les deux lignes suivantes au fichier go.bat :


blender -P "lenouveauscript".py
del "lenouveauscript".py


de sorte qu'après l'exécution, je me retrouve avec un script d'import par fichier mdl .. et un fichier .bat dont le rôle est d'appeller Blender avec chacun des scripts

Après cela .. il ne me reste plus qu'à taper "go.bat"
et je vois défiler sous mes yeux des sessions blender qui charge le fichier mdl, nettoie le fichier (en supprimant les empty inutiles, le cube, les liens de parentés) et enregistre le résultat dans un fichier .blend, et quitte

lorsque le script plante, il faut fermer la fenêtre blender et le fichier batch continue en traitant les suivants ..

Après l'exécuton de go.bat, je me retrouve avec pleins de fichier .blend.

Avant de les exploiter, je les ouvre .. je les corrige éventuellement , je fais un File->PackData (pour que les textures soient inclues dans le fichier blend) et je les sauvegarde sous un nom significatif

Pour vous donner une idée, du volume que cela représente, j'ai traité une partie seulement du CEP (Community Extension Pack)
et je me suis retrouvé avec un millier de fichier .blend

Je vous jure qu'il y a de la matière .. énormément de matière

Happy Blending à tous !!

Jean-Baptiste PERIN

 

 
Liens relatifs

· Lire plus dans le sujet LODWEB'News


Article le plus lu dans le sujet LODWEB'News
· Des objets à gogo...

Dernier article dans le sujet LODWEB'News
· Bienvenue...

Format imprimable  Envoyer cet article à un ami


 

- Page créée en 0.06 secondes | 22 Requêtes | 49 Fichiers chargés : 304.62 Ko | HTML brut : 27.38 Ko -