Ce texte fait référence au texte anglais ici.
26/12/07 : Mise à jour pour X-Plane 9
08/01/06 : Mise à jour pour X-Plane 8.60
19/07/06 : Projet initial
Un fichier .for décrit comment construire des arbres en 3D sur une texture. Les forêts sont construites en créant un polygone dans un fichier et en utilisant un DSF pour définir le fichier .for. Le polygone DSF peut avoir plusieurs sinuosités (windings), ce qui permet de faire des clairières. Le polygone DSF n'a besoin que de paire lon/lat pour en définir les limites. Le paramètre DSF est un nombre entre 0 et 255, qui précise la densité relative de la forêt (255 étant le plus dense).
Un fichier .for a un en-tête standard dans X-Plane :
A
900
FOREST
Le reste du fichier .for contient des commandes qui spécifient le fichier forêt. Les lignes commençant avec un # sont des commentaires.
TEXTURE <filename>
Définit la texture à utiliser pour la forêt. La forêt entière doit être construite à partir d'un fichier de texture unique. Le nom de fichier est spécifié par rapport au fichier .for, tout comme les fichiers OBJ8. Les textures LIT ne sont pas autorisées pour les forêts.
LOD <max lod>
Définit la distance la plus éloignée où les arbres peuvent être vus. Des valeurs plus faibles provoquent rapidement leur disparition, mais le framerate sera plus rapide.
[X-Plane 9] : Dans X-Plane 9, la commande LOD est ignorée ; X-Plane calcule les distances de lecture pour toutes les forêts en fonction des paramètres utilisateur. Il va tenter de dessiner la forêt à une distance aussi lointaine que possible, avec une densité approchant ce qui est spécifié dans le fichier Scenery.
SCALE_X <x scale>
SCALE_Y <y scale>
Elles définissent l'échelle des coordonnées utilisée pour définir les coordonnées de texture de la forêt. Elle doit pas être de la même taille que de celle de votre texture. En principe, toutes les coordonnées de texture sont interprétées comme si elle était sur une texture de ces dimensions, puis elle apparait en tant que texture réelle. (Cette commande est fournie pour vous permettre de saisir des chiffres faciles à lire à partir de Photoshop plutôt que de travailler avec des fractions.)
ESPACEMENT <x spacing> <z spacing>
Définit la distance entre les arbres en mètres. Des forêts en paquets nombreux et serrés ralentissent le simulateur, parce-qu'on utilise plus d'arbres pour remplir une zone. Les dimensions sont en mètres.
RANDOM <x spacing> <z spacing>
Définit de combien chaque arbre peut s'écarter d'une grille parfaite de remplissage. Ainsi, un échantillon aléatoire de 0 0 signifie une grille parfaite. Les espacements sont en mètres.
TREE <s> <t> <l> <h> <offset> <frequency> <min h> <max h> <quads> <type> <notes>
Chaque commande d'arbre (il peut y avoir plus d'une) définit un arbre. Chaque arbre est défini par un quad dans la texture. Les paramètres sont les suivants:
Chaque arbre est construit avec 1 à 4 quads. La taille de texture définit le ratio d'aspect et la texture utilisée. Les quads sont répartis sur toute la plage de hauteur possible. Vous pouvez spécifier où se trouve le centre de l'arbre - il n'est pas obligé d'être le centre de la texture, ce qui permet de faire des arbres asymétriques.
[X-Plane 9] : X-Plane 9 limite le nombre de quads à deux maximum, et réduira un arbre à un quad en fonction de la distance du spectateur et des paramètres de rendu. Ainsi, le nombre de paramètres de quads doit être considéré comme un maximum. (X-Plane 9 ne favorisera pas un arbre d'un quad dans un arbre à deux quad.)
SKIP_SURFACE <surface type>
[Nouveauté 8.60] : à partir de X-Plane 8.60, vous pouvez utiliser une ou plusieurs directives SKIP_SURFACE qui demande à X-Plane de ne pas mettre d'arbre sur un certain type de surface. Les codes de surface utilisés sont les mêmes que ceux des commandes ATTR_hard d'OBJ8. Vous pouvez utiliser cette commande plus d'une fois pour supprimer des arbres sur plusieurs types de surface.
Attention : Parce-qu'X-Plane construit en petits morceaux les arbres et les autres types de scènes en même temps quand vous volez, vous ne pouvez pas utiliser SKIP_SURFACE pour enlever des arbres hors des éléments de scène construits durant le vol. (Ceci concerne tous les types de scènes, sauf le terrain.) Par exemple, si vous utilisez SKIP_SURFACE concrete pour essayer d'enlever les arbres des routes, seuls ceux qui sont «plantés» par X-Plane, après la construction d'une route seront exclus.
A
900
FOREST
# Conifères froids et humides
#Cela nous indique l'image bitmap qui sera utilisée pour ces arbres.
TEXTURE forest.png
#Cela nous indique à quelle distance les arbres disparaissent - dans ce cas, 5 km.
#(This is a bit too soon - 10 km or 20 km looks better.)
LOD 5000
#Cela définit la taille de la texture pour les coordonnées indiquées ci-dessous.
SCALE_X 1024
SCALE_Y 1024
#Espacement des arbres: placer arbres et arbustes tous les 20 mètres.
SPACING 50 50
#Varie le placement d'un maximum de 10 mètres dans n'importe quelle direction.
RANDOM 20 20
#low-left coord tex size center percentage ----height----
# tree s t w y offset occurrence min max quads type name
#----------------------------------------------------------------------------------------------
TREE 44 896 52 127 25 12.5 10 28 1 1 connifer 1
TREE 194 896 44 127 22 12.5 10 28 2 1 connifer 2
TREE 238 896 65 127 32 12.5 10 28 1 1 connifer 3
TREE 443 896 66 127 33 12.5 10 28 3 1 connifer 4
TREE 584 896 77 127 39 12.5 10 28 1 1 connifer 5
TREE 712 896 62 127 32 12.5 10 28 2 1 connifer 6
TREE 777 896 61 127 29 12.5 10 28 1 1 connifer 7
TREE 840 896 72 127 36 12.5 10 28 2 1 connifer 8
SKIP_SURFACE water