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

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

Historique des versions :

    27/09/08 : Ajout de nouvelles commandes 9.20.
    26/12/07 : Ajout de nouvelles commandes 9.00.
     13/07/06 : Ajout de nouvelles commandes 8.50.
     09/09/05 : Ajout de nouvelles commandes 8.20.
    08/12/04 : Ajout de nouvelles commandes 8.02.
    19/11/04 : Projet initial

Le fichier de type terrain (. TER) explique à X-Plane comment peindre des morceaux de terrain. Cette spécification de format de fichier décrit le contenu des fichiers .ter et comment X-Plane combine un fichier DSF avec un fichier .ter pour créer un mesh. Les fichiers de type terrain séparent les données de terrain qui ne sont pas des images à partir de fichiers DSF et du simulateur lui-même, permettant aux terrains d'être partagés entre les dossiers de scène et mis à jour facilement.

Vous pouvez utiliser un fichier bitmap (.bmp ou .png) directement sans utiliser les fichiers .ter. Cette opération est décrite à la fin de la spécification.

Les techniques de rendu des terrains d'X-Plane

Le moteur de rendu d'X-Plane est capable de dessiner quelques effets de mesh différents. Nous allons inventorier ces effets avant de décrire comment un fichier .ter les invoque.

  • Texture de Base. C'est la façon la plus simple pour X-Plane de dessiner le terrain sur une texture sol.
  • Texture Eclairage de Nuit. X-Plane peut superposer une deuxième texture de lumières nocturnes au-dessus de celle de base lors de la simulation de nuit. La seconde texture est ajoutée à la texture de base, mais n'est pas affectée par les niveaux d'éclairage ambiant du simulateur. Une texture éclairage de nuit pourrait être utilisé pour dessiner des réflexions de lumières de rue, etc. L'utilisation de textures éclairage de nuit est semblable à l'éclairage de nuit pour les textures des avions et des objets.
  • Canal Alpha. Si la texture de base contient un canal alpha, il peut être utilisé pour rendre les parties de la texture de base translucide ou transparente, laissant d'autres terrains en dessous.
  • Masque Alpha. Une texture distincte en niveaux de gris peut être utilisée pour masquer les parties d'une texture. C'est différent de canal alpha de la texture de base en ce que le masque peut être appliqué dans une position différente ou avec différents étirements. (Cet effet est similaire à la frontière des masques à partir du système d'utilisation du terrain dans X-Plane 7.)
  • Projection. Une texture peut être aligné avec triangles spécifiques de mesh (similaire à X-Plane 7) ou projetée sur le terrain. Lorsque la texture est projetée, chaque pixel couvre une surface constante de la terre plutôt que d'un nombre constant de triangles. X-Plane 8.20 permet de personnaliser l'angle de projection ; les versions antérieures nécessitaient de projection vers le bas.
  • Composition. X-Plane 8 et 9 peuvent combiner deux textures (la texture de base et de la texture composite).X-Plane mélange les pixels de la base et la texture composite en utilisant le masque alpha de la texture de base. Cependant, le mélange est modulé par un paramètre distinct appliqué à chaque sommet du mesh. (Il est utilisé dans le Default Scenery pour mélanger des textures de roc/sol avec des textures de végétation. Le paramètre sur le mesh contrôle de combien la végétation recouvre le roc, et le masque alpha sur le rocher définit l'endroit où perce la végétation. Si le mesh ne contient pas un paramètre pour mélanger le terrain, à partir de X-Plane 8.02, X-Plane varie les terrains au hasard.
  • Frontières Composite (8.20). X-Plane peut faire disparaître une texture via un tramage à la place d'un mélange, en comparant l'alpha de la texture au masque alpha de la frontière.
  • Auto-Variation (9.00). X-Plane pouvez mélanger votre terrain avec le sien (un peu décalé) pour créer un terrain d'aspect moins répétitif.

La structure de fichiers de type Terrain

Les fichiers de type de terrain sont des fichiers texte, qui suivent la structure standard d'X-Plane avec l'en-tête de 3 lignes, suivi d'une série de commandes, une par ligne.

A
900
TERRAIN

Tous les bitmaps sont spécifiés avec les extensions de fichier. Des séparateurs de répertoires peuvent être colons (?), en avant ou en barres obliques inverses. Les commandes sont sensibles à la casse. Les lignes sont séparées par des espaces et non pas des onglets.

BASE_TEX

Indique la texture de base pour le terrain.

BASE_TEX <nomfichier>

Cultures BASE_TEX: FlatCrops.png

LIT_TEX

Spécifie la texture d'éclairage de nuit pour le terrain, si l'on doit l'utiliser. Si vous souhaitez utiliser une texture éclairage de nuit et vous avez fichier .ter, vous devez l'inclure - X-Plane ne recherchera pas une texture avec le même nom que la texture de base plus la _LIT extension.

LIT_TEX <nomfichier>

Cultures LIT_TEX: FlatCropsNight.png

BORDER_TEX

Indique une texture frontière supplémentaire utilisée comme un masque alpha. Si cette commande est présente, un masque alpha séparé est utilisé, sinon il ne l'est pas.

BORDER_TEX <nomfichier>

BORDER_TEX border.png

COMPOSITE_TEX

Indique une texture supplémentaire formée avec la texture de base. L'alpha de la texture de base est utilisée pour déterminer où ion peut voir la texture composite à travers. Des pourcentages élevés du mesh indiquent plus de texture composite - de faibles pourcentages, plus de texture de base.

COMPOSITE_TEX <nomfichier>

Végétation COMPOSITE_TEX: Grass_green.png

NO_ALPHA

Indique à X-Plane de ne pas utiliser l'alpha de la texture de base pour la transparence, même si alpha est présent. Si cette commande n'est pas écrite et X-Plane a alpha dans la texture de base, l'alpha sera utilisé.

NO_ALPHA

PROJECTION

Indique à X-Plane que la texture doit être projetée. La base, composite, et les textures éclairées peut être projetées ; un masque alpha séparé ne l'est jamais. Si cette commande est présente, la texture est projetée à la résolution donnée, sinon le fichier DSF doit préciser comment la texture est appliquée au mesh sur une base per-triangle.

Les chiffres indiquent sur combien de mètres la texture entière portera sur les axes horizontal et vertical.

PROJECTION <x_scale> <y_scale>

PROJECTION 4000 4000

RUGOSITE

X-Plane 8.02 : Cette commande spécifie avec quelle degré de rugosité le terrain agit sur les aires de roulage. La rugosité du terrain d'X-Plane est mis en œuvre en ajoutant d'es inégalités de hauteur sur chaque morceau de terrain, quand l'avion roule au-dessus de ce terrain, chaque roue monte et descend. Vous pouvez spécifier la fréquence de bosses et de la différence de hauteur.

Les paramètres de fréquence sont le nombre de bosses par mètre divisé par 2PI. L'amplitude est le déplacement vers le haut ou vers le bas, en mètres.

Si cette commande est omise, le terrain cahoteux d'X-Plane par défaut est utilisé. Il s'agit d'un déplacement de + / - 0.025 mètres verticalement et une fréquence de 0,16 mètres et 0,04 mètres pour les deux séries d'ondes sinusoïdales.

Bumpy <freq 1> <amp 1> <freq 2> <amp 2>

Bumpy 1,0 0,025 4,0 0,025

WET

X-Plane 8.02 : Cette commande mouille le terrain. Sans cette commande, tout terrain est une terre. Lorsque cette commande est ajoutée, le terrain se comporte comme de l'eau.

Cette commande n'affecte que le modèle physique ; visuellement, le terrain est comme d'habitude. Par exemple, cette commande ne colore pas en orange le terrain au moment du coucher du soleil.

WET

COMPOSITE_BORDERS

X-Plane 8.20 : Normalement, lorsque vous avez une texture frontière alphadistincte, X-Plane se penche sur les coordonnées S & T de chaque vertex et applique ce masque explicitement. (Si les coordonnées S & T sont nécessaires pour le terrain de base, elles sont lues en premier - voir au bas de cette doc pour plus d'info.)

Lorsque vous activez la frontière composite, l'algorithme des frontières change. L'alpha du terrain est comparé à l'alpha de la texture des frontières et le terrain n'est dessiné seulement là que l'alpha de la texture des frontières est plus que celle du terrain.

Utilisation typique : le masque alpha du terrain contient un modèle de haute fréquence qui capte les pixels. Le masque de la frontière est un gradient horizontal. La coordonnée S de la texture frontière est ensuite utilisée pour faire disparaitre le terrain en sélectionnant moins de pixels au-dessus d'une certaine distance. La coordonnée T n'a pas d'importance.

C'est différent d'un alpha régulier mélangé pour un pixel de la zone frontalière totalement dessiné ou pas dessiné du tout (?). Cela signifie que vous n'obtiendrez pas d'effet de couleur étrange par la fusion de deux pixels.

C'est différent d'un effet de masque régulier en ce que, parce qu'étant essentiellement unidimensionnel, la zone frontalière peut envelopper une zone polygonale arbitraire.

COMPOSITE_BORDERS

BASE_TEX_NOWRAP

X-Plane 8.20 : Elle est identique à la commande BASE_TEX sauf que la texture enroulante est désactivée. Avec la texture enroulante, une texture peut se répéter naturellement. Sans elle, la couleur du bord est prolongée indéfiniment.

Vous aurez besoin des textures non enroulantes lors de l'utilisation des tuiles orthophotos, elles garantissent que le filtrage n'introduit pas d'artefact à travers les frontières du terrain.

BASE_TEX_NOWRAP <file>

BASE_TEX_NOWRAP base_tex.png

COMPOSITE_NOWRAP

X-Plane 8.20 : Elle est identique à la commande COMPOSITE_TEX, sauf que la texture enroulante est désactivée. Avec la texture enroulante, une texture peut se répéter naturellement. Sans elle, la couleur du bord est prolongée indéfiniment.

COMPOSITE_NOWRAP <file>

COMPOSITE_NOWRAP base_tex.png

LIT_TEX_NOWRAP

X-Plane 8.20 : Elle est identique à la commande LIT_TEX, sauf que la texture enroulante est désactivée. Avec la texture enroulante, une texture peut se répéter naturellement. Sans elle, la couleur du bord est prolongée indéfiniment.

LIT_TEX_NOWRAP <file>

LIT_TEX_NOWRAP base_tex.png

BORDER_TEX_WRAP

X-Plane 8.20 : Elle est identique à la commande BORDER_TEX, sauf que la texture enroulante est on (activée). Dans les commandes de la texture originale, les frontières ont été considérées comme non enroulantes pour permettre aux frontières de style version-8.00 de fonctionner correctement. Si vous avez besoin d'une frontière auto-enroulante, cette commande est nécessaire.

BORDER_TEX_WRAP <file>

BORDER_TEX_WRAP base_tex.png

PROJECT_ANGLE
X-Plane 8.20 : Permet de contrôler l'angle sous lequel la texture de base est projetée lorsque le texturage projectif (projective texturing) est utilisé. X, Y, Z forment un vecteur pour mettre la projection en rotation, et forme un angle qui tourne autour de ce vecteur en degrés. X Y et Z doivent constituer un vecteur de longueur un. Sans cette commande, toutes les textures sont projetées vers le bas.

Cette commande peut être utilisée pour éviter les distorsions et les étirements lors de la projection d'une texture sur un terrain très incliné.

PROJECT_ANGLE <x> <y> <z> <a>

PROJECT_ANGLE 1 0 0 0

COMPOSITE_PROJECT_ANGLE

X-Plane 8.20 : Cette commande est la même que la commande PROJECT_ANGLE sauf qu'elle affecte la couche de texture composite.
COMPOSITE_PROJECT_ANGLE <x> <y> <z> <a>

COMPOSITE_PROJECT_ANGLE 1 0 0 0

PROJECT_OFFSET

X-Plane 8.20 : Cette commande vous permet de compenser le point de référence, quand une texture projetée l'est du coin inférieur gauche. Si vous ne pouvez pas choisir arbitrairement un point sur la terre lié à cette projection, vous pouvez le compenserpar rapport à la méthode de projection par défaut, ce qui permet une texture à utiliser dans une voie où il ne sera pas aligné avec l'utilisation normale (?). Le décalage est exprimé en mètres et compense la texture horizontalement et verticalement.

On l'utilise principalement pour essayer de cacher les effets de tuilage dans les textures.

PROJECT_OFFSET <x> <y>

PROJECT_OFFSET 2500 140

COMPOSITE_PROJECT_OFFSET

X-Plane 8.20 : Cette commande est la même que PROJECT_OFFSET mais pour la couche composite.

COMPOSITE_PROJECT_OFFSET <x> <y>

COMPOSITE_PROJECT_OFFSET 2500 140

SURFACE

X-Plane 8.50 : Cette commande attribue les cahots du terrain à une surface particulière qu'il faut nommer. Les noms sont les mêmes que dans la commande ATTR_HARD d'OBJ8. Voir la spécification OBJ8 pour plus d'info.

SURFACE <surface>

SURFACE concrete

AUTO_VARY

X-Plane 9.00 : Cette commande spécifie que le terrain devrait être automatiquement varié (si X-Plane a cette capacité). Notez que l'auto-modification nécessite que l'utilisateur actice les "pixel shaders".

AUTO_VARY

LOAD_CENTER

X-Plane 9.20 : Cette commande établit que cette texture sera utilisée à un certain endroit, précisé par les lat / lon considérées comme le 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 à résolution variable basée sur la distance générale de l'utilisateur à la texture. Quand l'utilisateur vole, X-Plane recharge périodiquement la texture.

LOAD_CENTER affecte le chargement de la base, la nuit, et les textures composites si elles existent. Une texture qui utilise LOAD_CENTER ne devrait être référencé qu'une fois par ressource d'ouvrage par tuile DSF (?). Pour des performances optimales, la texture doit être au format DDS, de sorte que les chargements à plus basse résolution seront plus rapides.
LOAD_CENTER

LOAD_CENTER 42,70321 -72,34234 4000 1024

Comment X-Plane applique les types de terrains au mesh

Le mesh du terrain X-Plane contient un nombre arbitraire de plans de données. Les 5 premiers chiffres de chaque vertex représentent la longitude, la latitude, l'altitude, et les normales (fractions nord et est) pour ce point, le reste des paramètres (si ils sont présents) sont combinés avec le type de terrain pour cette partie du mesh.

L'algorithme de base d'X-Plane utilise les paramètres du mesh en appliquant les règles ci-dessous. Par exemple, cela signifie que les coordonnées de texture pour un masque de frontière pourraient être dans les unités 6 et 7 du mesh s'il n'y a pas de coordonnées de texture de terrain, mais les unités 8 et 9 si elles existent, parce que les coordonnée de la texture du terrain ont une priorité plus élevée si elle est présente. (?)

  • 1. Si la texture du terrain de base n'est pas projetée, deux coordonnées sont utilisés comme paramètres S et T pour mapper la texture de base sur le vertex.
  • 2. S'il ya un masque alpha séparé (frontière), deux coordonnées sont utilisées comme paramètres S et T pour mapper le masque de la frontière sur le vertex.
  • 3. Si le terrain a une texture composite, une coordonnée est utilisée pour mélanger la base et la texture composite.

Note : Avant X-Plane 8.02, si vous aviez utilisé un terrain composite sur un morceau de mesh DSF qui ne dispose pas d'information alpha composite, X-Plane plantait. A partir dX-Plane 8.02, le simulateur synthétise alpha au hasard pour y faire face.

Ainsi, un vertex dans un DSF pour X-Plane peut avoir n'importe quelles coordonnées entre  5 et 10.

Utilisation de fichiers bitmap directement sans les fichiers .ter

Vous pouvez utiliser un fichier .png ou. bmp directement comme type de terrain en le référençant à partir d'un fichier d'un fichier DSF sans fichier .ter. (Dans cette section, bitmap se réfère à un fichier BMP ou PNG.)

Lorsque vous procédez ainsi, X-Plane met en place l'image comme suit :

Le fichier bitmap est utilisé comme texture de base.

Les coordonnées ST doivent être fournies dans le DSF pour placer le bitmap - il n'est pas projeté.

Le bitmap est un alpha test si il a un canal alpha.

Si une image bitmap existre avec le même nom, mais accompagnée du suffixe _LIT, elle est utilisée comme texture d'éclairage. Sinon, aucun éclairage n'est utilisé.

Aucune texture composite est utilisé.

Les mesh qui utilisent cette texture doivent avoir 7 paramètres : lat / lon / el, 2 paramètres de normales, et une paire de coordonnées ST.