Exporter un objet statique (e3d) de Blender

Le script el3d_export.py permet d’exporter les objets créés ou modifiés dans Blender dans un format de fichier utilisable dans l’éditeur de carte et le jeu.

Les objets ainsi créés peuvent être ensuite proposés à l’équipe, en général en même temps qu’une nouvelle carte ou une carte modifiée.

Si vous avez créé ou modifié des textures, il ne faudra pas oublier de convertir les textures pour que celles-ci soient également compatible avec le jeu.

Installation du script d'export

Après avoir téléchargé le script, copiez le dans le répertoire des scripts de Blender

  • Sous Linux : dans $HOME/.blender/scripts
  • Sous Windows : dans C:\Program Files\Blender Foundation\.blender\scripts ou dans le dossier spécifié dans les préférences de l’utilisateur.

Au prochain lancement de Blender, vous pourrez importer directement un objet du jeu grâce au menu Fichier|export

Conversion des textures dans un format compréhensible par le jeu

Le fichiers BMP utilisé dans le jeu sont au format BMP mais en mode couleurs indexées. Blender n’étant pas capable de lire ces fichiers BMP, il a fallut mettre ces textures au format RVB (Rouge Vert Bleu). Il faut donc les reconvertir en couleurs indexées, avec The Gimp par exemple, avant de pouvoir les utiliser dans le jeu.

Dans The Gimp, ouvrez l’image et dans le menu Image|mode choisissez couleurs indexées à la place de RVB. Sauvegardez l’image au format BMP.

Pour ne pas avoir de surprise, …

Import de l'objet dans Blender

Sélectionnez l’objet à exporter (clic droit)

Puis exportez l’objet au format e3d en utilisant le menu Fichier|export|Eternal lands files (e3d) :

export_e3d.jpg

Les options d’export sont :

  • GZIP Compression : Permet de compresser le fichier e3d au format GZIP (plus performant que ZIP en terme de compression et surtout libre de droit).
  • Save Normals : Permet de sauvegarder en plus du mesh, les normales de son maillage (triangle). Cette option doit être absolument sélectionnée (bouton gris foncé) car elle impacte le rendu de la lumière et des transparences sur les objets dans le jeu
  • Save Tangentes : Option non encore activée dans la version actuelle du jeu qui permettra de sauver les tangentes de chaque point (vertex) du mesh. Si je ne me trompe pas, cela devrait permettre d’avoir un rendu plus adouci notamment avec les formes rondes (tonneaux, vases, sphères, …)

Un deuxième bloc d’option permet d’indiquer sur quelle texture on peut appliquer des transparences (remplacement de la couleur noire). Dans le cas de notre tapisserie, nous allons sélectionner la texture tapestry5.bmp pour la rendre transparente et donc faire disparaître les contours noir.

Une fois les options choisies, cliquez sur le bouton export et indiquez le nom du nouveau fichier e3d.

Installation des fichiers dans les répertoires du Jeu

Pour pouvoir utiliser ce nouvel objet, rien de plus simple, il suffit de copier le fichier e3d et ses textures dans l’un des sous-répertoires du répertoire 3dobjects. Si vous ne savez pas lequel, demandez conseil à l’équipe lors de la proposition de l’objet.

Surtout n’utilisez pas de nom de fichier existant (fichiers e3d ou bmp), à moins de vouloir le remplacer complètement dans la totalité du jeu.

Pour utiliser ce nouvel objet, à partir de l’éditeur de carte, il faut passer en mode objet 3D (outil cube) et faire nouvel objet (outil flèche noire avec une étoile blanche). Une fenêtre apparaît alors et vous pouvez aller chercher l’objet dans le répertoire où il a été copié.

Fichiers du jeu à modifier :

  • 3dobjets.txt : Permet de donner la description de l’objet quand on clique avec l’œil dessus dans le jeu. Exemple :

\[name\]
file_name: tapestry5.e3d
object_name: Vous voyez une tapisserie du Terd Seglet.
\[/name\]

  • browser.lst : Permet de rajouter l’objet dans le menu du CONTROL-B de l’éditeur de carte. Exemple :

Category Etory
SubCategory Tapisserie et Banniere
Tapisserie du Terd Seglet,/3dobjects/etory/tapestry5.e3d,0,0,30,4.0

  • harvestable.lst : liste des objets pouvant être récolté (curseur pioche quand il survole l’objet)
  • entrable.lst : liste des objets pouvant servir d’entrée (curseur porte quand il survole l’objet)

Le fichier e3dlist.txt serait devenu obsolète.