ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
Tutoriel : créer une forêt

Ce tutoriel a pour but de décrire pas à pas les différentes étapes de la création d'une forêt personnalisée pour votre scène

 

Ressources nécessaires :

 

  • Un éditeur de texte

Par exemple le Bloc-notes de Windows ou TextEdit de macOS

 

  • Un logiciel de "dessin / retouche photo"

Par exemple Photoshop, Gimp...

 

  • Un fichier texture représentant plusieurs arbres

 

  • L'idéale serai de créer vous même votre propre fichier texture en prenant des photos d'arbres ou en les dessinant

(rappel : il faut que la hauteur et la largeur du fichier texture soient des multiples de 2 et son nom ne doit pas comporter d'espace ! )

  • Sinon vous pouvez télécharger le fichier texture correspondant aux exemples de ce tutoriel : Texture_arbres.png (2048x2048 px / 72 ppi / 7,17 Ko)
  • Ou alors utilisez un des fichiers textures de X-Plane

(par exemple, celui qui est ici → " X-Plane 11\Resources\default scenery\1000 forests\treeset_ue.png " )

 


À savoir avant de commencer ce tutoriel :

 

  1. "Un arbre" dans X-Plane est simplement un polygone ("un rectangle") sur lequel est appliqué la photo ou le dessin d'un arbre

 

  1. Celons les réglages de X-Plane et les capacités de l'ordinateur sur lequel il tourne, les arbres pourront être composés de 2, 3 ou 4 polygones identiques, croisés en leur centre

(polygone ⇔ quads)

 

  1. Les photos ou dessins qui sont appliquées par X-Plane sur les polygones des arbres d'une forêt doivent être sur le même fichier texture !

 

  1. X-Plane place la photo d'un arbre sur le polygone en fonction des coordonnées qui sont définis dans un fichier texte avec l'extension ".for"
  • Ces coordonnées définissent des rectangles qui délimitent l'emplacement de chaque arbre sur le fichier texture

 

  1. Lorsqu'il créer une forêt, X-Plane place un arbre à chaque point d'intersection d'une grille

 


Étape 1 : création du fichier.for

 

Tout d'abord, il faut créer un fichier texte avec l'extension ".for"

 

Pour cela ouvrez une page blanche avec un éditeur de texte et "Enregistrer sous..." cette page dans un des dossiers de votre scène, en lui donnant le nom de votre choix, suivie de l'extension ".for"

 

Par exemple :

 

foret_de_bocage.for       (rappel : le nom du fichier ne doit pas comporter d'espace ! )

  • Que vous enregistrez dans le dossier "Forets"
    • Que vous aurez créé dans le dossier "Ma Scene"
      • Que vous aurez créé dans le dossier "Custom Scenery" de X-Plane

 

 


Étape 2 : rédaction du fichier .for

 

  1. Commencez le fichier .for en écrivant ceci :

 

I
800
FOREST

 

  • Il est recommandé d'écrire "I" sous Windows ou Linux et "A" sous macOS       (mais les deux fonctionnent sur tous les systèmes)
  • "800" correspond à la version de l'OBJ
  • "FOREST" correspond au type d'OBJ demandé

 


  1. Ensuite, définissez l'emplacement du fichier texture

 

  1. Si le fichier texture est dans le même dossier que le fichier .for

Il suffis simplement d'écrire le nom du fichier texture avec son extension, précédé de la commande "TEXTURE"

TEXTURE Texture_arbres.png

 

  1. Si le fichier texture est dans un dossier différent du fichier .for

Vous devez écrire le chemin complet vers le fichier texture (en partant de l'emplacement où ce trouve le fichier .for), précédé de la commande "TEXTURE"

 

Par exemple :

 

Le fichier texture est dans un dossier qui se nomme "Textures"

  • Que vous aurez créé dans le dossier "Ma Scene"
    • Que vous avez créé dans le dossier "Custom Scenery" de X-Plane

 

Le chemin est alors :

TEXTURE ../Textures/Texture_arbres.png

(notez que chaque "../" permet de "remonter d'un dossier")

(pour le cas où vous auriez choisis d'utiliser un des fichiers textures de X-Plane, le chemin pourrait être → " ../../../Resources/default scenery/1000 forests/treeset_ue.png " )

 


  1. Définissez la taille du fichier texture

SCALE_X 2048
SCALE_Y 2048
  • La valeur pour "SCALE_X" définie la largeur du fichier texture
  • La valeur pour "SCALE_Y" définie la hauteur du fichier texture
  • L'unité pour la taille du fichier texture est au choix : pixels, centimètres, pouces, poils de couilles...
  • Vous devrez ensuite utiliser la même unité pour définir les coordonnées des rectangles délimitant les emplacements des arbres sur le fichier texture !

 

Pour l'exemple de ce tutoriel :

 

Nous utilisons un fichier texture qui fait 2048 pixels par 2048 pixels

  • Nous allons donc définir la taille de notre fichier texture en pixels
    • Nous définissons alors la valeur "SCALE_X" à "2048"
      • Nous définissons alors la valeur "SCALE_Y" à "2048"

 


  1. Définissez l'espace entre les arbres

SPACING 8 8
  • Ces valeurs définissent l'espace qu'il y aura entre deux arbres qui se suivent sur la grille
  • Les arbres sont espacés par rapport au centre du polygone qui les composes (car c'est généralement l'endroit ou se situe le tronc de l'arbre)
  • Ces valeurs sont en mètres

 

Par exemple :

 


Si les arbres font 4 mètres de large, en définissant les valeurs de la commande "SPACING" à "2 2"

  • Tous les arbres de la forêt seront "à touche touche"

 


  1. Définissez la variation aléatoire de l'emplacement des arbres

RANDOM 4 3
  • Ces valeurs définissent le décalage des arbres par rapport à l'endroit où ils devraient se trouver sur une grille parfaite
  • Ces valeurs sont en mètres

 

Par exemple :

 

En définissant les valeurs de la commande "RANDOM" à "0 0"

  • Tous les arbres de la forêt seront alignés sur une grille parfaite

 

En définissant les valeurs de la commande "RANDOM" à "2 2"

  • Les arbres seront décalés aléatoirement de 0 à 2 mètres par rapport à leur emplacement sur une grille parfaite, dans une direction elle aussi aléatoire

 


  1. Définissez tous les arbres de la forêt

 

Remarque :

 

Lorsque X-Plane lira le fichier .for afin de créer la forêt :

  • X-Plane ignorera toutes les lignes précédées d'un hashtag (#)
  • X-Plane ne fera pas la différence entre 1, 2, 3... "espaces" ou "tabulation" (l'important étant qu'il y ai au minimum un espace blanc entre chaque valeur)

Ceci est donc très utile afin de créer un tableau qui rendra plus lisible les points de coordonnées à définir

#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	v	v	v	v	v		v		v	v	v		v		arbre_a

 

Voici à quoi correspondent les valeurs (v) qui sont à définir :

 

Pour définir vos coordonnées, utilisez un logiciel de "dessin / retouche photo"

  • Généralement ces logiciels ont des outils qui permettent d'afficher ces coordonnées

 

Par exemple avec Photoshop :

 

Utilisez les "Règles" et "Repères" afin que s'affichent ces coordonnées

( ATTENTION ! Le "Y" de Photoshop est inversé par rapport au "t" de X-Plane !)

 

Voici comment définir les coordonnées "(s,t)" d'un point sur le fichier texture :

 

Tel que mentionné précédemment :

  • Lorsque vous définissez les coordonnées des rectangles délimitant les arbres, vous devez utiliser la même unité que l'unité choisie lors de la définition de la taille du fichier texture

 

Par exemple :

 

Si le fichier texture fait 30 centimètres par 30 centimètres

  • Le point tout en haut à droite du fichier texture a comme coordonnées : ("s ⇒ 30", "t ⇒ 30")
  • Le point au centre du fichier texture a comme coordonnées : ("s ⇒ 15", "t ⇒ 15")
  • Le point tout en bas à droite du fichier texture a comme coordonnées : ("s ⇒ 30", "t ⇒ 0")
  • Le point au milieu de la hauteur et tout à gauche du fichier texture a comme coordonnées : ("s ⇒ 0", "t ⇒ 15")
  • ...

 

Pour l'exemple de ce tutoriel :

 

Nous utilisons un fichier texture qui fait 2048 pixels par 2048 pixels

  • Le point tout en haut à droite du fichier texture a comme coordonnées : ("s ⇒ 2048", "t ⇒ 2048")
  • Le point au centre du fichier texture a comme coordonnées : ("s ⇒ 1024", "t ⇒ 1024")
  • Le point tout en haut à gauche du fichier texture a comme coordonnées : ("s ⇒ 0", "t ⇒ 2048")
  • Le point en bas à gauche du rectangle délimitant l'arbre de l'exemple de ce tutoriel a comme coordonnées : ("s ⇒ 1190", "t ⇒ 248")
  • ...

 

Nous allons donc définir les coordonnées de l'arbre de l'exemple de ce tutoriel comme ceci :

#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	1190	248	442	431	206		v		v	v	v		v		arbre_exemple
  • Les autres valeurs permettent de configurer la forêt, celons ce que vous souhaitez créer comme forêt

 

Remarques :

 

  1. L'"occurrence" définis le pourcentage de répétition de l'arbre dans la forêt
  • Cette valeur est en pourcentage
  • La somme totale des occurrences des arbres d'une forêt doit être égale à 100% !
#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	1190	248	442	431	206		75		v	v	v		v		arbre_exemple
TREE    2028	2028	20	20	10		25		v	v	v		v		Vide

(notez que le deuxième arbre définis pour cet exemple est une partie "vide" du fichier texture) (nous y reviendrons par la suite)

 

  1. La "hauteur de l'arbre" définis la hauteur minimum et maximum qu'aura cet arbre dans X-Plane
  • L'arbre définis sur cette ligne aura différentes hauteurs comprises entre ces deux valeurs
  • Ces valeurs sont en mètres
#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	1190	248	442	431	206		75		8	10	v		v		arbre_exemple
TREE    2028	2028	20	20	10		25		1	1	v		v		vide

(le "rapport hauteur/largeur" du rectangle définissant un arbre sera toujours conservé; Donc plus l'arbre sera grand, plus l'arbre sera large)

 

  1. "quads" définis le nombre de polygone de l'arbre dans X-Plane
  • Depuis la version 9 de X-Plane, le nombre de quads que créera X-Plane pour un arbre est définis automatiquement en fonction des réglages de X-Plane et des capacités de l'ordinateur sur lequel il tourne
#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	1190	248	442	431	206		75		8	10	4		v		arbre_exemple
TREE    2028	2028	20	20	10		25		1	1	1		v		vide

(Il est donc conseillé de toujours mettre une valeur de "4"; Afin que les personnes disposants d'un ordinateur à forte capacités puissent disposer du maximum de polygone possible)

(notez qu'étant donné que le deuxième arbre définis pour cet exemple est une partie vide du fichier texture il est inutile de lui définir 4 quads) (nous y reviendrons par la suite)

 

  1. Le "type" d'arbre permet de placer plusieurs arbres à un même point sur la grille de la forêt


Par exemple :

 

Nous souhaitons créer une forêt qui serai composée d'arbres et de ronces

  • Nous définirons alors quelques arbres en type "1"
    • Puis des ronces en type "2"
#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE	1190	248	442	431	206		50		8	10	4		1		arbre_exemple
TREE    709     248     480     431     240             25              8       10      4               1               arbre_exemple_2
TREE    0       867     387     728     200             25              10      22      4               1               arbre_exemple_3
#------------------------------------------------------------------------------------------------------------------------------
TREE    0       0       960     241     477             50              0.5     1.5     4               2               ronces_exemple_1
TREE    1638    0       410     244     213             50              1       2       4               2               ronces_exemple_2
  • Pour chaque type d'arbre la somme totale des occurrences doit être égale à 100% !

 

Le fait que la somme totale des occurrences doit être égale à 100% pour chaque type d'arbre peut poser problème dans certain cas...

 

Par exemple :

 

Nous souhaitons créer une brousse dans laquelle poussent quelques arbres et arbustes

  • Nous définirons alors quelques brousses en type "1"
    • Puis un espace vide du fichier texture en type "2"
      • Et ensuite quelques arbres et arbustes en type "2"
#Appel	Coordonnées 	Taille de la  	Position du 	Répétition de 	Hauteur 	Nombre de	Type    	Nom de
#d'un	du point en	texture	de	centre, depuis	l'arbre appelé	de l'arbre,	polygones	d'arbre 	l'arbre
#arbre	bas à gauche 	l'arbre appelé	la gauche 			en mètres     	de l'arbre    	
#------------------------------------------------------------------------------------------------------------------------------
#                       Largeur Hauteur                 (Totale = 100%)                (tjs mettre 4)    
#------------------------------------------------------------------------------------------------------------------------------
#tree   s 	t 	w 	y 	offset  	occurrence 	min	max 	quads   	type    	name
#------------------------------------------------------------------------------------------------------------------------------
TREE    0       0       960     241     477             50              1       2       4               1               brousse_exemple_1
TREE    1797    867     242     312     118             4               3       5       4               2               arbuste_exemple_1
TREE    2028    2028    20      20      10              92              1       1       1               2               vide
TREE    968     0       664     241     332             50              1       2       4               1               brousse_exemple_2
TREE    1190    248     442     431     206             4               8       10      4               2               arbre_exemple

(l'arbre "vide" permet donc de ne pas avoir un arbre à chaque pied de brousse)

(notez qu'en changeant l'ordre d'apparition des arbres dans le fichier .for, la forêt sera composée différemment)

(tout logiquement, plus vous définirez d'arbres dans votre forêt, plus elle sera variée)

 


  1. Définissez la (les) surface(s) où il n'y aura pas d'arbre

 
SKIP_SURFACE water
SKIP_SURFACE concrete
SKIP_SURFACE asphalt
  • Les surfaces que vous pouvez choisir sont :
    • water
    • concrete
    • asphalt
    • grass
    • dirt
    • gravel
    • lakebed
    • snow
    • shoulder
    • blastpad

(notez que pour définir plusieurs surfaces vous devez réécrire la commande "SKIP_SURFACE" pour chaque surface)

 

X-Plane ne créera pas d'arbre sur la (les) surface(s) définis avec cette commande

 


  1. Enregistrez le fichier .for que vous venez de créer

(car nous avons fini sa création)

 


Étape 3 : ajout de la forêt dans une scène

 

Une fois que vous avez fini d'écrire et enregistré le fichier .for, il ne reste plus qu'a définir l'emplacement de la forêt dans votre scène

  • Pour cela, utilisez WED (ou OverlayEditor) et ouvrez votre scène

 

Vous retrouverez la forêt que vous avez créé dans le "Library Pane" de WED sous l'onglet "►Local"

(ou en sélectionnant "Objects in this package" avec OverlayEditor)

  • La forêt aura le même nom que celui du fichier .for
  • La forêt suivra le même cheminement que le fichier .for dans les dossiers de votre scène

 


  1. Sélectionnez la forêt en cliquant sur son nom, à gauche, dans le "Library Pane"

 


  1. Définissez la densité d'arbres qu'il y aura dans la forêt en modifiant la valeur de la case "Density"

(ceci n'a pas grand intérêt étant donné que nous avons déjà définis l'espacement entre les arbres lors de l'écriture du fichier .for)

 


  1. Définissez son emplacement en cliquant plusieurs fois dans la partie centrale de WED

(cliquez au minimum 3 fois)

  • Appuyez sur la touche "entrée" de votre clavier, une fois que vous avez définis tous les points de la forêt

 


  1. S'afficheront alors sur la droite, dans la colonne "Selection", tous les réglages disponibles pour cette forêt

  • En sélectionnant un mode à la case "Fill Mode", X-Plane placera les arbres de la forêt de différentes façon

 

  • En mode "Area" X-Plane placera les arbres à l'intérieur de la zone que vous avez créé

 

  • En mode "Linear" X-Plane placera les arbres sur la ligne que vous avez créé

(n'oubliez pas que si vous avez définis des valeurs supérieur à "0" à la commande "RANDOM" dans le fichier .for de la forêt, les arbres seront décalés par rapport à la ligne ! )

 

  • En mode "Points" X-Plane placera un arbre à chaque "point" de la ligne que vous avez créé (pointcoinanglenœud)

 

 

Astuce :

 

Pour placer des arbres très rapidement sur une scène vous pouvez "jongler" entre le mode "Linear" et le mode "Points"

Par exemple, vous souhaitez placer des arbres "solitaire" au milieu d'une prairie ou au bord d'une route

 

  1. Cliquez sur quelques arbres afin que les limites extérieur de la forêt passent prêt des arbres que vous souhaitez placer

  • Appuyez sur la touche "entrée" de votre clavier, une fois que vous avez définis quelques points

 

  1. Sélectionnez le mode "Linear"

 

  1. Maintenez la touche "alt" de votre clavier enfoncé
  • Et cliquez sur la ligne à l'emplacement des arbres que vous souhaitez placer

(ou "cliquez→glissez" si l'arbre n'est pas sur la ligne)

 

  1. Passez en mode "Points" afin que X-Plane créé un arbre à chaque point que vous avez définis

 

  1. Si vous vous rendez compte que vous avez oublié un arbre !
  • Repassez en mode "Linear"

  • En maintenant la touche "alt"
    • Cliquez sur la ligne à l'endroit le plus proche de l'arbre oublié
    • Et glissez le point créé jusqu'à l'emplacement de l'arbre

  • Puis repassez en mode "Points"

(facile et rapide ! )

 


  1. Enregistrez" votre scène

  • puis "Exportez" votre "Scenery Pack"

 


 

Il ne vous reste alors plus qu'à démarrer X-Plane

  • Vous rendre sur les lieux de votre scène
    • Et contempler la forêt que vous venez de créer et placer dans X-Plane

 

 

Exemple de fichier .for :

 

ICI