ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
Packs de scènes et biblio

(Mise à niveau pour X-Plane 8.04 le 13 janvier 2005)

Pour les besoins de ce document, le terme "ressources graphiques" se réfère à tous les bitmaps et les fichiers texte qui décident de la forme de vos DSF et ENV. Ceci inclue les images aux formats PNG et BMP pour le terrain et les objets, les fichiers texte OBJ, les façaces, etc.

Guide rapide des modifications par rapport à X-Plane 7

Voici un rapide résumé pour les impatients :

  • Les objets et les bitmaps peuvent être placés n'importe où dans un pack de scènes.
  • Le meilleur endroit pour les bitmaps d'objets est le dossier où est placé l'objet en question.
  • Les packs de scènes peuvent publier et partager des objets et des fichiers graphiques pour les autres packs.
  • X-Plane possède à présent un second dossier de pack de scènes, situé à l'intérieur du dossier "resources", pour les packs de scènes d'origine qui sont livrés avec le simulateur.

Comment X-Plane 8 trouve les scènes

X-Plane 7 a introduit le concept de "pack de scènes". Un pack n'est qu'un dossier qui contient tous les fichiers nécessaires à une scène. L'idée était de pouvoir fabriquer des scènes qui se suffisent à elles-mêmes, afin de pouvoir facilement les installer et les déplacer. Avant l'apparition des packs, l'utilisateur devait copier les fichiers scène dans des tas de dossiers du "X-System" pour les installer. Avec les packs, l'installation des scènes ne requiert qu'un simple drag-and-drop depuis le Bureau (Finder) ou l'Explorateur.

X-Plane 8 introduit un second dossier de scènes. Le dossier "Custom Scenery" existe toujours, mais un second dossier "Default Scenery" existe également, il se situe dans le dossier "resources" d'X-plane. Les scènes fournies avec X-Plane sont contenues dans le dossier "Default Scenery".

Au démarrage, X-Plane recherche votre pack de scènes dans l'ordre suivant :

1) X-Plane recherche chaque pack de scènes dans le dossier "Custom Scenery" par tri alphabétique des noms de packs.

2) X-Plane recherche chaque pack de scènes dans le dossier "Default Scenery" par tri alphabétique des noms de packs.

3) Enfin, X-Plane regarde directement dans les ["Earth nav data" ou "Mars nav data"].

ATTENTION :n'installez pas vos scènes dans les dossiers [Resources/Earth nav data] ou [Resources/Mars nav data] directement ! Placez toujours vos scènes sous forme de packs !

REMARQUE POUR X-PLANE 804 : Avant X-Plane 804, X-Plane effectuait une recherche dans tous les endroits cités ci-dessus, d'abord pour les fichiers DSF, puis de même pour les fichiers ENV. Dans X-Plane 804, pendant sa recherche de chaque pack, il cherche les fichiers DSF ET les fichiers ENV. Donc un fichier DSF dans un pack sera chargé avant un fichier ENV, pour le même nom dans un même pack... cependant, avec X-Plane 804, il est possible de faire en sorte qu'un ENV dans un pack soit chargé à la place d'un DSF d'un pack de scènes moins important.

Modifications de la structure du pack

Le changement le plus important du système de pack de scènes sous X-Plane 8 est que les objets et bitmaps d'X-Plane 8 peuvent être placés N'IMPORTE OU à l'intérieur d'un dossier de scènes. il n'est plus obligatoire d'utiliser le dossier "custom objects", etc. Vous pouvez utiliser votre propre hiérarchie de dossiers.

Toutefois, même avec ce nouveau système, le meilleur endroit pour les bitmaps d'objets reste le dossier dans lequel l'objet se trouve. Ainsi, les objets peuvent utiliser ces textures par noms, sans avoir recours à aucun chemin de dossier. Vous n'êtes pas obligé d'utiliser ce schéma, mais nous le recommendons fortement et nous pensons vraiment qu'il vous aidera dans l'organisation de vos pack de scènes.

Pourquoi ces changements? En voici quelques raisons :

  • Etant donné qu'on trouve maintenant des tas de types de ressources graphiques, il existe une demande potentielle de partage de bitmaps entre plusieurs de ces types. En permettant à un bitmap de se déplacer n'importe où, on peut recycler sur un disque le même bitmap pour plusieurs objets, façades, et même du terrain. Un seul bitmap sur le disque signifie un seul bitmap dans la RAM vidéo, et donc une économie de RAM vidéo.
  • Ce type de ressources graphiques consiste souvent en un groupement de fichiers. Un objet est constitué d'un OBJ et d'un PNG/BMP, mais les forêts et le réseau routier incluent encore plus de fichiers. En conservant tous les fichiers dans le même dossier, on peut déplacer un objet (avec ses bitmaps) sans avoir à éditer le fichier texte de l'objet pour y inclure le nouveau chemin de bitmap.

Structure des packs et compatibilité avec la version 7

La compatibilité ascendante est assurée entre ce nouveau système et le système de scènes actuel de la version 7, et ceci de deux manières :

1) Si votre pack contient des fichiers ENV au lieu de fichiers DSF, les anciennes règles de placement d'objet/bitmap de la version 7 s'appliquent. Donc, aucun changement en ce qui concerne la manipulation de votre pack.

2) X-Plane 8 vérifie quelques emplacements de dossiers hérités pour vos bitmaps s'il ne les trouve pas dans les nouveaux emplacements par défaut. Le temps de chargement sera réduit si vos dossiers sont organisés avec le nouveau système, mais il fonctionneront quand même avec l'ancien système.

ASTUCE : La méthode utilisée par X-Plane pour trouver les ressources graphiques dépend du type de fichier en cours de chargement ! Ceci signifie que si vous avez un pack avec des fichiers ENV et DSF, les fichiers ENV trouveront leur objets en utilisant l'ancien système, et les fichiers DSF les trouveront grâce au nouveau système. Si vous voulez exporter un pack de scènes avec des fichiers anciens et des nouveaux fichiers, il se peut que vous souhaitiez continuer à utiliser l'ancien système avec vos fichiers DSF, de manière à pouvoir exporter un seul ensemble d'objets, à la fois pour les fichiers DSF et pour les fichiers ENV. Cependant, je vous recommande, pour des raisons de simplicité, de transformer [NDT: mettre à jour] tous vos ENV en DSF d'un seul coup lorsque vous mettez à jour votre pack.

Bibliothèques - Partage des ressources graphiques

X-Plane 8 utilise un nouveau système de partage des ressources graphiques. Un pack de scènes donné peut EXPORTER ses ressources graphiques pour qu'elles soient utilisées par d'autres packs, et d'autres packs peuvent IMPORTER ces ressources. Voici comment cela fonctionne :

Une ressource graphique partagée (c-à-d qui est exportable par un pack et importable par un autre) possède un CHEMIN VIRTUEL. C'est un chemin de fichier choisi par l'auteur de la scène, mais qui ne fait pas réellement partie du système de fichiers. On utilise ce chemin virtuel pour faire correspondre les ressources graphiques exportées à partir d'un pack avec celles qui sont importées d'un autre pack.

Un pack de scènes X-Plane 8 peut spécifier qu'il désire exporter ses ressources graphiques. Pour cela, il doit posséder un fichier texte au niveau de sa racine, nommé "exports.txt". Ce fichier texte contient une sorte de "plan" (sommaire) des ressources graphiques du pack (avec le chemin de fichier relatif au pack) qui crée un chemin virtuel. En fait, ce fichier rend "publiques" certaines des ressources graphiques du pack, pour que d'autres puissent les voir.

Lorsqu'X-Plane charge une ressource pour un fichier DSF, si le chemin de la ressource est un chemin virtuel, alors X-Plane charge la ressource qui était exportée par un autre pack de scènes. De cette manière, un pack de scènes peut faire référence à ses propres ressources graphiques grâce à des chemins de fichiers réels, et à d'autres ressources par des chemins virtuels.

Si deux packs de scènes exportent tous les deux la même ressource, la ressource du pack de priorité supérieure est utilisée. REMARQUE : Nous avons vu que les packs sont classés par ordre alphabétique. Cependant, les packs par defaut d'X-Plane résident dans le dossier "resources", et ils sont toujours de rang inférieur par rapport aux packs de scènes custom.

Si un seul pack de scènes exporte une ressource vers le même chemin virtuel 2 fois, alors X-Plane alternera l'utilisation de cette ressource. Ceci permet de créer des variations d'une ressource graphique grâce à une bibliothèque.

Un pack de scènes peut également exporter la même image vers plusieurs chemins virtuels. Ceci vous permet de créer l'illusion d'un large éventail d'objets avec un nombre minime de ressources graphiques. Lorsque ceci se produit, X-Plane ne charge effectivement aucun fichier dans la mémoire plus d'une fois.

Il est important de noter que si votre pack de scènes exporte une ressource graphique, puis qu'un des éléments de cette scène utilise cette ressource (mais en utilisant le chemin virtuel), il se peut alors que vous ne vous retrouviez pas avec votre propre ressource à la fin !

Par exemple, si je crée un pack qui exporte "mes-objets/maison.obj" vers le chemin virtuel "lib/france/petite_maison.obj", et qu'un autre pack de scènes de priorité supérieure exporte "grosse_maison.obj" vers le même chemin virtuel, alors quand j'utilise dans mon pack "lib/france/petite_maison.obj", j'obtiens "grosse_maison.obj" depuis l'autre pack si celui-ci est installé, et "mes-objets/maison.obj" si seulement mon pack est installé. Si vous voulez à tout prix utiliser votre propre ressource graphique, faites-y référence grâce au chemin de fichier réel (ici : "mes-objets/maison.obj") et non pas un chemin virtuel. Si vous désirez pouvoir mettre à niveau votre image ultérieurement, vous pouvez utiliser des chemins virtuels.

Pour éviter les conflits entre les chemins virtuels et réels, la convention est que tous les chemins virtuels doivent commencer par l'extension "lib/". Ne créez pas de dossier "lib" dans votre dossier de scènes custom, car vous pourriez obtenir des chemins ambigus.

Un pack de scènes qui exporte des ressources graphiques diverses est une BIBLIOTHEQUE. La liste qui indique les ressources graphiques avec leurs chemins virtuels correspondants est une "liste de précisions de bibliothèque" [NDT: library specification]. Une seule bibliothèque donnée peut fournir des ressources graphiques pour plusieurs listes de précisions.

Utilisation de plusieurs fichiers d'objet et de façade grâce à la bibliothèque

Remarque: ces informations s'appliquent uniquement à X-Plane 8.02 et les versions plus récentes.

Dans X-Plane 8.02, il vous est possible de spécifier plusieurs objets ou façades pour un seul chemin virtuel dans une bibliothèque. Lors du chargement d'un fichier DSF, X-Plane choisira au hasard un de ces fichiers objet ou façade. Cela vous permet de fournir une variante d'un objet sans modifier les fichiers DSF originaux.

Par exemple, si votre pack de scènes utilise l'objet "lib/france/maison.obj" 100 fois, et qu'il est, dans une biblothèque, exportable vers à la fois "mes_objets/maisonA.obj" et "mes_objets/maisonB.obj", alors vous obtiendrez environ 50 objets "maisonA" et 50 "maisonB" dans votre scène lorsqu'elle sera chargée.

Cette caractéristique vous permet de créer plus de variantes et de détails dans votre scène grâce à des packs add-on, ou d'améliorer les scènes par défaut en ajoutant des variations. Notez que pour que cette caractéristique fonctionne correctement, les objets doivent tous avoir à peu près la même surface d'encombrement.

Scènes par défaut et bibliothèques

Les scènes par défaut d'X-Plane contiennent deux parties distinctes:

1) tout ce qui est décor (les objets et leurs textures, les textures de terrain, etc)

2) les fichiers DSF génériques qui génèrent l'environnement [NDT: world].

La partie décor est publié sous forme de bibliothèque. Nous rendrons publiques les spécifications pour cette bibliothèque, afin que les packs externes puissent fournir des objets et des graphismes améliorés en tant qu'add-on pour les scènes par défaut.

Comment X-Plane localise les ressources (DSF) : les détails

Les ressources graphiques sont soit "primaires" si elles sont référencées par un fichier DSF (par ex. un objet) soit "secondaires" si elles sont référencées par une ressource primaire ou une autre ressource secondaire (par ex. le bitmap d'un objet).

Les ressources primaires sont localisées en comparant tout d'abord le chemin indiqué dans le fichier DSF avec un chemin virtuel. Si l'un d'entre eux correspond, la ressource exportée en question est utilisée. Si un chemin virtuel n'est pas localisé, X-Plane essaie de trouver la ressource selon l'emplacement relatif du chemin à l'intérieur des emplacements suivants (dans cet ordre précis):

1) Dans votre pack de scènes custom.

2) Dans les dossiers contenus dans votre pack de scènes (par ex: Custom Terrain Textures, etc.)

3) Dans l'emplacement des bitmaps compatibles par défaut, situé dans le dossier "ressources" du X-System.

Pour les ressources secondaires, la localisation se fait d'abord relativement à la ressource primaire qui les référence, puis relativement aux emplacements listés ci-dessus.