Comment convertir des objets v5 en obj v7 ?

English version

Le format des objets a changé plusieurs fois dans la vie d'X-Plane.
En version 5, un objet utilisait une texture pour chaque face.
En version 6, une seule texture couvre tout l'objet.
En version 7, la définition est plus proche des commandes OpenGL.

Quelques exemples :

Version 5

I

4 dd_phenix_wall1 // mur1
9 2.5 0
9 0 0
0 0 0
0 2.5 0

99
- I pour IBM ou A pour Apple.
- Pas de numéro de version, c'était la première !
- 4 indique le nombre de cotés. 1 indique un point, 2 une ligne et 3 un triangle.
- dd_phoenix_wall1 est le nom de la texture affectée à cette face. C'est obligatoirement un BMP. // indique le début du commentaire.
- 9 2.5 0 sont les coordonnées d'un des points. - 99 indique la fin du fichier.

Version 6

A
2   // Object only supported by X-Plane version 6.1 and up. Single-Texture object

Bld:chalet   // Texture

4 0.7536 0.9945 0.7558 0.9938        // Toit
12.1   14.5   -17   
12.1   14.5   13   
0   20   13   
0   20   -17   

99  //  Created using ObjectMaker v.6.60 PPC for Macintosh © 2002 by C. Franz
- 2 : cette fois il y a un numéro de version.
- Bld:chalet où chalet est le nom de la texture et Bld le nom du sous-répertoire de Custom object textures où elle se trouve.
- 4 a toujours la même signification. 0.7536 0.9945 0.7558 0.9938 représente les coordonnées des points inférieurs gauche et supérieur droit du rectangle utilisé pour cette face dans la texture.
- 12.1 14.5 -17 coordonnées d'un des points.

Version 7

I
700
OBJ

Bld:chalet		//

quad		//
12.100000 14.500000 -17.000000    0.994500 0.993800
12.100000 14.500000 13.000000    0.994500 0.755800
0.000000 20.000000 13.000000    0.753600 0.755800
0.000000 20.000000 -17.000000    0.753600 0.993800

end		//
- 700 : nouveau numéro de version.
- quad représente un polygone à 4 faces, tri un triangle. Et line une ligne.
- end indique la fin du fichier.


Convertir

Les outils

Pour convertir des objets de v6 en v7 il existe un outil très simple d'utilisation (Drag and Drop !). Il s'agit du ObjConverter des XPTools de Ben Supnik. On le trouve ici : http://www.xsquawkbox.net/tools/xptools/

Pour convertir des objets de v5 en v6, c'est plus difficile. Il a existé un outil créé par Christian Franz, ObjectConverter, mais celui-ci a abandonné tout développement. De plus, cet outil n'a existé que pour Mac. Si le site n'est pas encore fermé, vous pouvez essayer cette adresse : http://www.christian.franz.net/OM/

La conversion manuelle

Les objets v5 et v6 n'étant pas très différents, il est possible de modifier avec un éditeur de texte le fichier OBJ de v5 en v6.

Sauf si l'objet v5 n'utilisait qu'un seul et unique fichier texture, on aura de toutes façons à refaire l'application des textures.

- Ajouter un 2 à la seconde ligne pour indiquer la nouvelle version.
I
2
- Ajouter un nom de texture.
I
2

texture
- Pour chaque polygone, remplacer le nom de texture par quatre nombre entre 0 et 1 (ou trois s'il s'agit d'un triangle).
4 dd_phenix_wall1 // mur1
9 2.5 0
9 0 0
0 0 0
0 2.5 0
devient
4  0 0 0 0  // mur1
9 2.5 0
9 0 0
0 0 0
0 2.5 0

Après, il ne reste plus qu'à convertir l'objet au format v7 avec ObjConverter des XP-Tools et refaire le placement des textures, avec ObjEdit des XP-Tools par exemple.

Et voilà !