|
Les p'tits tutos de jpfil pour développer dans FS2020 |
| 4. Conversion d'un modèle FSX pour FS2020 |
|
Les objets FSX (*.MDL ou *.BGL) peuvent être importés tels quels dans FS2020. Ce n'est cepandant pas l'idéal ni recommandé car ils seront ignorés au cours des prochaines mises à jour. Vaut donc mieux convertir nos objets FSX en véritables objets FS2020, en objets "natifs" de format *.GLTF. IMPORTANT. Avant toute conversion, assurez-vous d'obtenir l'autorisation de l'auteur original de la scène.
La conversion en format natif FS2020 peut se faire de plusieurs façons. En voici deux. Par Blender. Logiciel 3D gratuit très complet, puissant mais aussi très complexe. Il faut y importer les outils de compilation FS2020 pour pouvoir convertir. On ne peut pas y importer des fichier MDL ni BGL de FSX. Il faut donc les convertir dans un autre format auparavant. Par Model Converter X (MCX). Utilitaire gratuit très utile pour les développeurs FSX. Son concepteur, Arno Gerretsen, l'a doté de fonctions pour lui permettre la conversion complète et rapide d'objets FSX et leurs textures en objets FS2020 natifs. Arno en fait des mises à jour régulières, en fonction des mises à jour de FS2020. On peut y importer des objets ou des bibliothèques d'objets sous formats *.MDL ou *.BGL tirés directement de scènes FSX. C'est ce que j'utilise depuis le début dans la conversion des mes scènes FSX pour FS2020. ATTENTION. Après toute mise-à-jour de FS2020 il est prudent de vérifier si une mise-à-jour de ces outils est proposée : la SDK de FS2020; Blender et son MSFSToolKit (qui permet la conversion vers FS2020); Model Converter X. ADENDUM. Dans le présent tuto, le dossier qui contient les objets convertis se nomme modellib. C'est le nom par défaut que donne FS2020 aux dossiers d'objets. Il semble recommandé de donner aux dossiers de nos objets un nom différent pour éviter les conflits de scènes. Dans notre exemple, nous pourrions alors le nommer jpfil-aventure-brousse-modelLib. Nous le laisserons sous le nom de modelLib pour le moment. ------------------------------------------------------------------------------- Nous poursuivons donc avec notre scène Aventure Brousse, débutée dans les tutos précédents. Allons-y avec la conversion d'un chalet qu'on placera plus tard dans cette scène. Débutons par repérer dans les scènes FSX la bibliothèque (en anglais : library) qui contient l'objet à convertir désiré. Elle est toujours dans le dossier scenery et fait habituellement partie des fichiers les plus lourds. Ici le chalet est dans la bibliothèque IS_chaletsJP.bgl.
Lançons l'utilitaire MCX.
Et glissons-y la bibliothèque IS_chaletsJP.bgl.
La bibliothèque contient plusieurs objets. Naviguons vers notre chalet. On voit que ses textures sont absentes. C'est normal au présent stade. Dans le menu de MCX, cliquer l'éditeur de matériaux (Material Editor).
L'éditeur de matériaux affiche la liste des textures et matétiaux (couleurs systèmes) appliqués sur notre chalet. Les textures sont absentes et c'est normal ici. La liste nous fait voir seulement les textures utilisées pour notre chalet. On peut choisir de convertir d'abord ces textures. Si la bibliothèque contient plusieurs objets que nous prévoyons convertir il sera plus pratique de convertir toutes les textures de la scène. De toute manière, le compilateur ne retiendra que celles qui sont attachées aux seuls objets convertis.
Ouvrons maintenant l'outil de conversion des texture (Texture converter).
Glissons-y une première texture, ici chaletBoisRond.bpm. Les formats *.BMP et surtout *.DDS sont couramment utilisés dans FSX. Dans FS2020 ce sera le format *.PNG.
Choisissons le format de texture pour la conversion FS2020, soit le format *.PNG.
Sauvegardons la texture convertie dans le dossier ...\PackageSources\ModelLib\texture de notre dossier de travail. Il est essentiel de lui donner le même nom de fichier que la texture originale, soit ici chaletBoisRond pour créer le fichier chaletBoisRond.png.
Une fois toutes les textures converties, retournons à l'éditeur de matériaux pour l'opération de mappage**, soit l'attribution à notre chalet de ses textures sous le nouveau format *.PNG. La texture de jour se trouve à la case Albedo Texture (et la texture de nuit, lorsque présente, à la case Emissive texture). ** Attribution d'un fichier de texture, en entier ou en partie, à un objet ou à une partie d'objet (en anglais : mapping).
On naviguera jusqu'au dossier texture dans le ModelLib de notre dossier de travail et on choisira la texture chaletBoisRond.png.
L'éditeur de matériaux affiche maintenant la texture convertie. Le mappage est donc réussi!
On fera ainsi pour remplacer toutes les textures par les converties et notre chalet retrouvera ses couleurs!
Il ne restera plus qu'à exporter notre chalet en format *.GLTF, natif à FS2020 (natif = format utilisé pour le développement des objets originaux de FS20200). Nous ouvrirons donc le menu Export object.
Nous naviguerons jusqu'au dossier ModelLib de notre dossier de travail et y créerons un nouveau dossier, ici chaletBoisRond. Le nom de ce dossier n'a aucune importance pour la compilation. C'est juste pour faciliter le classement. Ce qui intéresse le compilateur c'est ce qui est DANS les dossiers du modelLib!
Dans ce nouveau dossier chaletBoisRond nous sauvegarderons notre modèle, en format *.GLTF. Personnellement je place toujours le préfixe jpfil et le nom de mon objet est en minuscules, séparé ou non par des tirets, sans accent ni caractères spéciaux. Je le nomme ici : jpfil-chalet-bois-rond. C'est sous ce nom qu'il apparaitra dans l'éditeur FS2020. Dans le dossier du chalet, seront donc créés trois fichiers de même nom mais d'extensions différentes : jpfil-chalet-bois-rond.bin, jpfil-chalet-bois-rond.glft et jpfil-chalet-bois-rond.xml.
Passons maintenant à la compilation pour valider que la conversion a bien réussi. Le compilateur fspackagetool.exe est situé dans le dossier Tools\bin du SDK mais on en a fait préalablement un raccourci dans notre dossier de travail de la scène. On a tout simplement qu'à glisser le fichier *.XML à la racine du dossier de travail de notre scène sur ce raccourci et la compilation démarrera.
Une fois la compilation terminée, la console nous indique le résultat. Ici il y a eu une opération ignorée (1 skipped, probablement le "Creator name missing"), 11 opérations réalisées (11 done), aucune erreur (0 failed) et le tout a duré 710 mili-secondes (0s710ms).
Deux nouveaux dossiers se sont créés lors de la compilation :
Notre scène est donc compilée. Il faut cependant la déplacer la scène compilée de son dossier Packages vers le dossier Community de FS2020 afin que FS2020 et son éditeur la prennent en charge et nous permettent de placer notre chalet.
Nous verrons dans un autre tuto comment placer notre chalet dans le simulateur.
|