ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
Pol

Ce texte fait référence au texte anglais ici.

Historique des versions :

         06/02/10 : Corrections de fautes
        27/09/08 : Ajout de nouvelles commandes 9.20.
         07/01/06 : Mise à jour pour 8.60
        19/07/06 : Projet initial

Introduction

Les polygones drapés (. POL) définissent comment un polygone DSF devrait être transformé en pavement, ou tout ce qui est drapé au-dessus du mesh terrain existant. On s'en sert entre autres pour rendre les taxiways praticables, mais n'importe quelle texture peut être utilisée.

Les fichiers .pol sont utilisés via des polygones de Bézier. De multiples tracés peuvent être utilisés pour spécifier des trous dans la pavement. Les polygones doivent avoir deux coordonnées (longitude, latitude) pour les segments linéaires ou quatre coordonnées (longitude, latitude, control lon, control lat) pour les courbes de Bézier. Le paramètre est utilisé comme une rotation de la texture en degrés.

Notez que les textures des fichiers .pol ne sont pas attachés à un système de coordonnées particulières, aussi ils ne sont appropriés que pour les textures répétitives, pas pour les orthophotos.

[Nouveauté 8.60] : à partir d'X-Plane 8.60, les coordonnées de la texture d'un polygone peuvent être spécifiées dans le fichier DSF. Pour ce faire:

  • Réglez à 65535 le paramètre param associé au polygone dans le DSF.
  • Passez deux (ou quatre pour Courbe de Bézier) coordonnées ST à la fin de chaque vertex, qui seront utilisées comme coordonnées ST .
  • X-Plane ignorera la commande SCALE.

L'en-tête d'un fichier .pol est la suivante:

A
900
DRAPED_POLYGON

Conseils

Il y a deux façons d'utiliser un polygone .pol dans une scène, fichier dsf.

http://developer.x-plane.com/?article=d ... in-x-plane
Dans la page ci-dessus, il faut rechercher les lignes qui correspondent à Draped Polygon (no UV) et à Draped Polygon (with UV Map).

- Dans le premier cas, on ne dit pas quelle partie de la texture sera utilisée. On a juste l'échelle définie dans le .pol et l'orientation définie dans le DSF. C'est le cas des textures répétitives.
Pour voir à quoi ça ressemble, un bon exemple, c'est la texture des taxiways qui doit fonctionner dans ce mode.

- Dans le second cas, à l'utilisation dans le DSF on dit pour chaque point du polygone quel sera le point correspondant dans la texture. S et T sont les coordonnées de ce point dans la texture. Pour les marquages au sol c'est mieux d'utiliser ce mode.

Les commandes

Le reste du fichier est composé de commandes, ou # pour une ligne de commentaire. Les commandes sont les suivantes :

TEXTURE <texture name>

Définit la texture à utiliser - le nom de la texture est relatif au fichier .pol.

TEXTURE_LIT <texture name>

S'il est présent, il définit un overlay de l'éclairage de nuit à utiliser, encore relatif au fichier .pol.

SCALE <horizontal scale> <vertical scale>

Définit la taille d'une itération de la texture en mètres.

(8.60: Si le polygone a des coordonnées ST dans le DSF, la commande SCALE est ignorée).

LAYER_GROUP <group name> <offset>

Spécifie le groupe de calques (ordre z) dans lequel est dessiné le polygone. La définition est la même que pour la commande ATTR_layer_group dans la spécification OBJ8.

SURFACE <surface type>

S'il est présent, il définit le type de surface dure que le polygone va créer. Les intitulés de surface sont les mêmes que pour les pistes : Asphalt / Concrete / Grass / Dirt / Gravel / Dry Lakebed / Water / Snow.

TEXTURE_NOWRAP <texture name>

[Nouveauté 8.60] : Cette commande est la même que la commande TEXTURE, sauf que la fusion des bords de la texture est réglé sur "attaché" (clamped) par opposition à "couvert" (wrapped). La texture s'emboitera correctement s'il s'agit de la limite d'une orthophoto, sauf quand la texture se répète comme un modèle terre.

TEXTURE_LIT_NOWRAP <texture name>

[Nouveauté 8.60] : Cette commande est la même que la commande TEXURE_LIT, sauf que la fusion des bords de la texture est réglé sur "attaché" (clamped) par opposition à "couvert" (wrapped). La texture s'emboitera correctement s'il s'agit de la limite d'une orthophoto, sauf quand la texture se répète comme un modèle terre.

NO_ALPHA

[Nouveauté 8.60] : Cette commande ordonne à X-Plane d'ignorer le canal alpha de la texture. Certaines textures peuvent avoir un "bruit" spécial des canaux alpha qui ne sont pas utiles pour les textures de base, cette commande peut être utilisée pour supprimer la bande contenant les données alpha dans le simulateur, permettant d'utiliser la texture à de multiples fins.

LOAD_CENTER

[Nouveauté 8.20] : Cette commande établit que cette texture sera utilisée à un certain endroit, précisé par les lat/lon prises au centre de la texture. En précisant également la taille des textures (en pixels) et la taille approximative du terrain lorsqu'il est placé (en mètres), X-Plane se charge de la texture avec une résolution variable basée sur la distance générale de l'utilisateur à la texture. Quand l'utilisateur vole, X-Plane recharge la texture périodiquement.

LOAD_CENTER affecte le chargement de la texture de base et la texture de nuit si elle existe. Une texture qui utilise LOAD_CENTER ne devrait être référencée qu'une fois par tuile DSF et par ressource d'ouvrage (?). Pour des performances optimales, la texture doit être au format DDS, de sorte que rechargée en basse résolution, ce sera plus rapide.

exemple :
LOAD_CENTER 42,70321 -72,34234 4000 1024

Exemple de fichier :

A
900
DRAPED_POLYGON
TEXTURE concrete.png
SCALE 25 25
LAYER_GROUP taxiways 0
SURFACE concrete

Utilisation des polygones de recouvrement pour placer des Orthophotographies

Ce cours d'instruction présente une scène très simple qui recouvre d'une texture photographique le polygone de l'aéroport international de San Berandino. Vous pouvez télécharger notre scène d'exercice ici: Ground_overlay_demo.zip (3Mo)
Le fichier texte original utilisé pour créer le DSF (par l'intermédiaire de DSF2Text) est inclus, et tous les dossiers des textes sont fortement commentés.
Il illustre un certain nombre de matières :

  • Comment employer des fichiers ".pol" pour changer l'aspect du terrain en le recouvrant.
  • Comment placer les orthophotos dans le fichier ".pol".
  • Comment activer le fichier de recouvrement dans un DSF.

Avertissement: le système de polygone de recouvrement dessine le terrain en plus du terrain original, pas à la place du terrain original ! Employer des polygones très grands peut donc poser des problèmes de framerate (nbre images par secondes). Les polygones de recouvrement sont affichés seulement quand l'avion arrive près du secteur, ainsi ils ne sont pas appropriés pour les zones très grandes (et donc très visibles).
Pour plus d'info pour savoir dans quel cas utiliser un DSF de recouvrement ou un Objet, consultez cette page: Optimiser ses créations
Veuillez noter que l'équipe d'X-Plane travaille à la création des outils pour modifier graphiquement les décors. Cette explication est censé illustrer comment le système de paysage fonctionne.
Vous pouvez utiliser un logiciel de retouche photo (Photoshop, The Gimp) pour ajouter un masque d'alpha à l'image originale afin de créer une frontière plus "naturelle" autour du secteur d'aéroport. Vous pouvez voir avant-et-après dans le dossier de la scène (ksbd.png est l'original, et ksbd_alpha.png a le masque alpha).

Qu'est-ce qu'un dossier ".pol" et que fait-il ?

Les fichiers DSF déterminent le placement des orthophotos sur le sol, mais les fichiers DSF ne se réfèrent jamais directement au fichiers d'image (fichiers ".png"). Le fichier DSF se rapporte à un fichier ".pol" et le fichier ".pol", lui, se rapporte au fichier ".png".

Le fichier ".pol" est un fichier de définition graphique (comme les fichiers ".obj" ou les fichiers ".ter"). Le fichier ".pol" nous permet d'ajouter n'importe quelles informations supplémentaires sur le polygone comme le nom d'un fichier png par exemple. Autre exemple, le fichier ".pol" a une ligne qui définit les propriétés de surface de notre polygone (dans le cas de notre exercice: l'herbe).

Une propriété importante du fichier ".pol" est le LAYER_GROUP. Ceci définit quel élément du paysage sera placé au-dessus ou au-dessous du ".pol". C'est ainsi que vous pouvez employer des polygones pour la terre (que vous voudrez au-dessous des pistes) ou pour les inscriptions de parking (que vous voudrez au-dessus des pistes).

Généralement, vous aurez besoin d'un fichier ".pol" pour chaque ensemble de fichiers ".png" qui composent l'orthophoto. (vous pourriez avoir un png pour le terrain et un deuxième png pour la texture d'éclairage de nuit.)

Activation du Polygone de recouvrement dans un DSF

Pour utiliser le polygone, vous devez d'abord mettre en référence le ficher ".pol" dans le DSF en utilisant la commande POLYGON_DEF. Ceci définit un nombre d'index dans le DSF qui sera alors employé pour se rapporter à votre pol.

Notez que le premier POLYGON_DEF a l'index zéro ! Chaque fois que vous voudrez placer cette orthophoto vous emploierez cet index.

(Notez qu'en travaillant avec des orthophotos, vous voudrez probablement employer chaque orthophoto seulement une fois. Cependant, le DSF permet d'employer un pol de nombreuses fois. Si votre polygone contenait une texture générique, comme l'herbe, il pourrait être utile de l'employer beaucoup de fois.)

L'information de polygone dans le DSF peut être employée pour un certain nombre d'utilisations graphiques : façades des bâtiments, plages, forêts, lignes de taxiway, ou polygones mappés. Chaque placement du polygone dans le DSF a un "paramètre", un nombre compris entre 0 et 65535. En général, le paramètre utilisé pour les fichiers ".pol" est un axe de rotation (en degrés) que la texture prendra. Mais, dans le cas des orthophotos, nous employons le paramètre spécial 65535 pour indiquer que nous voulons employer des coordonnées de texture dans le DSF pour placer l'orthophoto.

Nous employons alors quatre coordonnées pour placer l'orthophoto. Les deux premiers nombres sont des paires de longitude/latitude et la deuxième paire sont des coordonnées de texture. Ceci définit non seulement la frontière du polygone où nous placerons l'orthophoto, mais également quelle partie de la texture est lié à quel coin du polygone.

Vous pouvez regarder le dossier exemple pour mieux comprendre la façon dont les orthophotos sont installés.

Voici un exemple du code utilisé dans le fichier "ksbd.pol" contenu dans le dossier de l'exercice:

A

850

DRAPED_POLYGON

C'est un fichier ".pol" - il définit l'aspect d'un polygone mappé recouvrant un DSF ou un calque DSF.
Les trois premières lignes sont un en-tête standard pour ce genre de fichier.
Le polygone mappé prend la forme du polygone de basse et change juste son aspect.
Commande de groupe de calque. Cette commande définit où dans l'ordre de chargement de la scène, ce polygone apparaîtra.
Les nombres négatifs indiquent les couches situées EN-DESSOUS # les nombres indiquent les couches situées AU-DESSUS .
La gamme des nombres utilisables va de -1 à -5 ou 1 à 5.

Les groupes disponibles sont: terrain, beaches, shoulders, taxiways, runways, markings, airports, roads, objects, light_objects, cars. Pour chaque groupe, on peut avoir une hiérarchie allant de -5 à +5 sachant que le niveau par défaut est le 0.

Dans notre exemple nous allons sous la couche d'"aéroports".
Ceci s'assure que notre polygone ira sous toutes les parties des aéroports (pistes, taxiways, etc...)
mais sera au-dessus de n'importe quels autre terrain (plages, etc...).

LAYER_GROUP airports -1

La commande de TEXTURE définit la texture que nous emploierons. Le fichier "ksbd_alpha.png" est notre fichier texture.
D'où vient ce fichier? J'ai téléchargé un orthophoto de l'USGS et j'ai employé Photoshop pour appliquer un masque d'alpha afin de détourer une partie de la superficie.
Vous pouvez changer cette ligne en "TEXTURE ksbd.png" pour voir l'orthophoto originale.
La texture doit avoir un chemin relatif au repertoire où se trouve le fichier ".pol".

TEXTURE ksbd_alpha.png

La commande d'ECHELLE définit la répétition de la texture.
Si nous avons des coordonnées de texture dans le DSF (ce que nous faisons dans notre cas) alors cette commande est ignorée.
Si la texture doit-être répettée comme une texture de terrain générique, alors nous aurons ceci:

SCALE 25 25

La commande SURFACE définit les propriétés physiques du polygone recouvert.
Dans le cas présent, nous demanderons que la surface réagisse comme de l'herbe.

SURFACE grass