Vielfach stehen auf unseren Flugplätzen auch Bäume herum. Jetzt könnte man natürlich die Autogen-Wälder benutzen und hoffen, dass X-Plane die Bäume richtig platziert. Leider stehen die bei mir immer in den Gebäuden, keine Ahnung warum Oder wir setzen jeden Baum einzeln. Ist bei einem größeren Waldstück innerhalb des Flughafens eher mühsam und fördert auch nicht gerade die fps.
Also bauen wir uns einen Wald!
Was brauchen wir dazu?
Um einen Wald (.for) selbst zu machen, brauchen wir:
Wir beginnen mit den einzelnen Bäumen. Auf der rechten Seite ist die Datei, wie ich sie für meine Wälder benutze, abgebildet. Ich verwende eine Größe von 1024x1024 px, es schaut aber mit 512x512px noch gut aus.
Wichtig dabei ist, dass jeder Baum "einzeln steht"; d.h. dass wir um jeden Baum ein Rechteck ziehen können, ohne einen Teil eines anderen Baumes mitzunehmen. Und natürlich "frei stellen"; also mit transparentem Hintergrund arbeiten.
Wie man sieht, hab ich mal verschiedene Bäume (Laub-, Nadel-Bäume, Büsche, ...) in eine Datei zusammenkopiert. Das hat den Vorteil, dass man ein und die selbe Textur mit mehreren .for-Definitionen verwenden kann und so einen Nadel-, Laub- oder Mischwald bekommt und X-Plane trotzdem nur eine Textur laden muss.
Anmerkung: auch ich hab diese Bäume nicht selbst gezeichnet, sondern von verschiedenen Photos zusammenkopiert. Wer meine Bäume verwenden will: RechtKlick und "speichern als", Klar?
Wie wird jetzt aus unserer Textur-Datei ein Wald.
Dazu sehen wir uns mal die Definition der "Forests" (.for) Dateien an, die wir HIER finden können. Ich beschränke mich hier auf die Funktionen, die vor der Version 10 schon funktionierten, damit meine Wälder auch in X-Plane 9.7 funktionieren. Wer möchte kann natürlich die neuen Funktionen nutzen.
Sehen wir uns mal an, was wir im Detail in unserer .for-Definition brauchen. Wir öffnen den Texteditor mit einer leeren Datei und tragen mal ein:
A
800
FOREST
Das ist der Standard-Kopf, den wir ja schon kennen. Der Eintrag "800" besagt, dass wir die Spezifikation Vers. 8 benutzen. Wer die Funktionen der Vers. 10 nutzen will, sollte hier "1000" eintragen.
Der Eintrag
TEXTURE Trees_01.png
weist auf unsere zuerst erstellte und als "Trees_01.png" abgespeicherte Datei.
Und den Eintrag
LOD 0.0 10000.0
kennen wir auch schon, er weist X-Plane an, unseren Wald von einer Entfernung von 0m bis zu 10km zu zeichnen.
Die Anweisung
SCALE_X 1024
SCALE_Y 1024
sagt X-Plane wie groß unsere Textur-Datei ist. Dies braucht X-Plane um später einzelne Bäume aus der Textur-Datei heraus zu lösen.
Ab jetzt spezifizieren wir, wie unser Wald aussehen soll:
SPACING 5.00 5.00
RANDOM 3.00 3.00
Diese beiden Einträge steuern, wie X-Plane die einzelnen Bäume setzt: In das mit "SPACING" definierte Rechteck wird genau ein Baum gesetzt. Je größer diese Werte, desto "lichter" wird unser Wald. Die Werte sind übrigens in Meter! Der Eintrag "RANDOM" definiert, wie weit ein Baum von der Mitte des mit "SPACING" definierten Rechtecks entfernt erstellt wird. Bei "0.00 0.00" stehen die Bäume in "Reih und Glied" (kann für Weingärten und ähnliche, regelmäßige Pflanzungen genutzt werden).
Jetzt wirds mühsam!
# height
# s t w y offset freq min max quads type name
TREE 0 770 174 254 87 5 2 16 4 0 Fichte1
TREE 174 770 166 254 83 5 2 16 4 0 Fichte2
TREE 340 770 150 254 75 5 2 16 4 0 Fichte3
TREE 490 770 130 254 65 5 2 16 4 0 Fichte4
TREE 620 770 182 254 91 5 2 10 4 1 Laub1
TREE 802 770 222 254 111 5 2 10 4 1 Laub2
TREE 0 510 264 260 132 5 2 10 4 1 Laub3
TREE 264 510 220 260 110 5 2 10 4 1 Laub4
TREE 484 510 184 260 82 5 2 10 4 1 Laub5
TREE 668 510 174 260 87 5 2 10 4 1 Laub6
TREE 842 510 182 260 91 5 2 10 4 1 Laub7
TREE 0 255 266 254 133 5 2 10 4 1 Laub8
TREE 266 255 274 254 137 5 2 10 4 1 Laub9
TREE 540 255 246 254 123 5 2 10 4 1 Laub10
TREE 786 255 238 254 118 5 2 10 4 1 Laub11
TREE 0 0 224 256 112 5 2 12 4 1 Laub12
TREE 224 0 224 256 112 5 2 8 4 1 Laub13
TREE 448 0 290 256 145 5 2 10 4 1 Laub14
TREE 738 0 202 256 101 5 2 14 4 1 Laub15
Diese Einträge definieren jeden einzelnen Baum in unserer Textur-Datei. Die beiden Zeilen, die mit "#" beginnen, sind nicht erforderlich, erleichtern aber (zumindest mir) das Eintragen der Werte. Diese bedeuten im Einzelnen:
s | die horizontale Koordinate der linken unteren Ecke des Rechtecks um den gewünschten Baum |
t | die vertikale Koordinate der linken unteren Ecke des Rechtecks um den gewünschten Baum |
w |
die Breite des Rechtecks um den gewünschten Baum |
y | die Höhe des Rechtecks um den gewünschten Baum |
offset | der Abstand von der linken Ecke das Rechtecks zur Mitte des Baumes (dem Stamm). An dieser Stelle fügt X-Plane die Flächen, aus denen der Baum bestehen wird, zusammen. |
frequency | Die Anzahl, wie oft der Baum in unserem Wald benutzt werden soll. Die Summe aller "frequency"-Einträge muss 100 ergeben! |
min | (height) Die minimale Höhe das Baumes, die X-Plane in den Wald stellen soll |
max | (height) Die maximale Höhe das Baumes, die X-Plane in den Wald stellen soll |
quads | Die Anzahl der Polygone, die X-Plane zum Zeichnen des Baumes benutzes soll. Bei "quads"=1 wird ein zweidimensionaler Baum gezeichnet, bei 2 stehen 2 Flächen im rechten Winkel zu einander. Max = 4! |
type | Hier können mehrere Typen von Bäumen spezifiziert werden. Wozu das gut ist, hab ich auch noch nicht durchschaut, vielleicht kann hier jemand aufklären? |
name | Hier kann ein Name eingetragen werden, der uns beim Erstellen der .for-Datei hilft, diese auseinander zu halten. |
Also rein ins Grafikprogramm und Pixel zählen. Ich hab da aber ein nettes Tool gefunden, das uns dabei hilft. Machen wir nur noch schnell den letzten Eintrag fertig:
SKIP_SURFACE water
sagt X-Plane, dass im Wasser keine Bäume wachsen (Mangroven sind in Europa eher selten anzutreffen .-) ).
Auf der Seite http://xsmart-plane.com/xsmartforests/ findet man das Tool "XSmartForests 1.0 alpha - Oct 5 2012". Dieses sehr hilfreiche Tool unterstützt uns bei der Erstellung unserer .for-Definition:
Nach dem Starten öffnen sich mal ein paar leere Felder in einem Fenster. Über das Menu "File / Open Texture" können wir unsere Textur-Datei laden. Diese erscheint dann im linken großen Fenster.
In den Feldern links daneben können wir die bekannten Werte für LOD, SPACING, RANDOM und die Anweisung "SKIP WATER" eingeben.
An den ausgegrauten Einträgen sieht man, dass der Autor an den X-Plane 10-Parametern arbeitet.
Was es mit den "Groups" auf sich hat, hab ich noch nicht durchschaut. Wenn wer drauf kommt, bitte um Info!
Für mich interessant ist das Feld "Table of Trees". Das ist im Augenblick noch leer.
Jetzt Klicken wir auf "Add Tree". Es öffnet sich ein Fenster, in dem wir die Werte für den ersten Baum eingeben können: Den Namen für den Baum, die Quads aus denen der Baum gebaut werden soll, die Häufigkeit (Occurence) mit der der Baum im Wald vorkommen soll, die Group und die minimale und maximale Höhe des Baumes. Sind alle Werte eingetragen, Klicken wir auf OK. Jetzt erscheinen unsere Werte in der "Table of Trees".
Gleichzeitig erscheint im Tree-Editor ein Rechteck. Dieses können wir mit der Maus über unseren ersten Baum ziehen. Auch die Ränder können wir mit der Maus so setzen, dass unser Baum (und nur der) innerhalb des Rechtecks liegt. Auch die Mittellinie des Rechtecks können wir so in die Mitte des Stammes ziehen (nützlich für asymmetrische Bäume).
Während wir dies tun, sehen wir im rechten Fenster (Tree Preview) das Ergebnis. Dort können wir unseren Baum mit der Maus auch beliebig drehen und so von allen Seiten ansehen.
Ist alles Ok, wiederholen wir dies für alle gewünschten Bäume.
Wir müssen nicht in jedem "Forest" alle Bäume einer Textur verwenden. Ich hab mir aus der selben Textur einen Nadel-, einen Laub- und einen Mischwald sowie eine Buschgruppe gebaut.
Dazu definieren wir zuerst alle Nadelbäume, geben links oben einen Namen für diesen Wald ein und Klicken rechts unten auf "Save". Jetzt speichert das Programm die .for-Definition unter diesem Namen. Jetzt definiere ich alle Laubbäume, Namen ändern, speichern, usw.
Wir haben jetzt eine oder mehrere .for-Dateien und unsere Textur. Diese kopieren wir in unseren "Custom Scenery"-Ordner. Ein Unterverzeichnis ist natürlich auch möglich.
Jetzt öffnen wir den WED (für den OE such ich noch einen Co-Autor ) . In der linken Liste (Library) finden wir jetzt unsere(n) .for-Definition(en). Wenn wir darauf Klicken, wählt der WED das "Forests"-Tool . Damit zeichnen wir jetzt unser Waldstück, indem wir der Reihe nach auf die Ecken des Gebiets klicken, in dem die Bäume wachsen sollen. WED empfielt dies gegen den Uhrzeigersinn zu machen. Ich weiss zwar nicht warum, denn es funktioniert auch anders rum.
Haben wir alle Ecken definiert, Klicken wir auf das "Vertex"-Tool oder Drücken ENTER. Daraufhin erscheint unser Wald in der Ressourcen-Liste auf der rechten Seite und rechts unten erscheinen die Eigenschaften dieses Waldstücks. Der Eintrag bei Density sollte eigentlich die Dichte des Waldstücls verändern, ich kann aber keine Veränderung feststellen. Wenn ich einen dichteren Wald möchte, reduziere ich einfach die Werte bei SPACING und RANDOM (geht ich im Nachhinein mit dem Text-Editor).
Bei "Fill Mode" haben wir drei Optionen:
Aber Achtung: Soll die Szenerie auch unter X-Plane 9.70 laufen, ist nur der "Fill Mode" "Area" zulässig!
Hinweis: Sollte die grüne Fläche innerhalb unseres Waldes bei der weiteren Arbeit an der Szenerie stören, einfach auf "Hidden" klicken. Aber nachher wieder einschalten, sonst erscheint in X-Plane kein Wald!
Und jetzt viel Spass beim "Förstern"
Gerhard
Wenn Dir dieses Tutorial gefällt, freuen wir uns über Deine Spende: