- HOME
- X-PLANE
- LINKS
- Mein Cockpit
- OBJEKTE
- SZENERIEN
- Szenerien-Liste
- Szenerien - Karte
- Modellflugplätze
- HELI - Landeplätze
- 4077 M.A.S.H.
- AAT Ranshofen
- EI01 Fastnet Rock
- F1 Spielberg Racetrack Heliport
- KH Dornbirn
- KH Linz
- KH Rudolfstiftung Wien
- KH Weisser Hof
- LKH-Hainburg
- LKH Hartberg
- LKH Rottenmann
- LKH Schladming
- LKH Wagna
- LOAC KH Kittsee
- LOAE KH Eisenstadt
- LOAF KH Baden
- LOAH KH Horn
- LOAI LKH Wr. Neustadt
- LOAJ Aspern Öamtc
- LOAK KH Krems
- LOAL Pöchlarn-Wörth
- LOAM Wien Meidling
- LOAO KH Oberpullendorf
- LOAY Kilb Heliport
- LOAZ KH Zwettl
- LOBA AKH Wien
- LOBI KH Mödling
- LODL Business Center Leitner
- LODO Oberwart OEAMTC
- LOGR KH Oberwart
- LOIB Hörlahof
- LOIC St. Anton a. Arlberg
- LOID KH Kufstein
- LOIE BKH Reutte
- LOIF LKH Feldkirch
- LOIG Wucher Ludesch
- LOIL Zams Christophorus 5
- LOIM Heliport Kufstein
- LOIO Sölden
- LOIP Ischgl Idalpe
- LOIU LKH Innsbruch HeliPort
- LOIW Waidring
- LOJC Christophorus 4 Reith
- LOJI Medalp Imst
- LOJK Kaltenbach
- LOJN Christophorus 8 Nenzing
- LOJP Karres
- LOJT Hintertux
- LOJW Wucher Gallus 1 Lech/Zuers
- LOLY ÖAMTC Christophorus 15 Ybbsitz
- LOGA LKH Bad Radkersburg
- LOJH Martin 8 Hochgurgl
- LOMP Patergassen
- LOPK LH Phyrn-Eisenwurzen Kirchdorf
- LOMW LKH Wolfsberg
- LOSJ St. Johann im Pongau
- LOWH Hanusch Krankenhaus
- Tauernklinikum Zell am See
- LOXH Hochfilzen
- LOXS Schwarzenbergkaserne
- UKH Lorenz Böhler
- UKH Meidling
- AT02 Scalaria airchallenge
- LAA-Ungerndorf
- LEGO Mistelbach
- LOAA Ottenschlag
- LOAB Dobersberg
- LOAD Völtendorf
- LOAG / LOBK Krems-Langenlois
- LOAN / LOAW Wr. Neustadt Ost
- LOAR Altlichtenwarth
- LOAS Spitzerberg
- LOAT Trausdorf
- LOAU Stockerau
- LOAV Vöslau
- LOGF Fürstenfeld
- LOGG Punitz
- LOGI Trieben
- LOGK Kapfenberg
- LOGL Lanzen-Turnau
- LOGM Mariazell
- LOGO Niederöblarn
- LOGP Pinkafeld
- LOGT Leoben Timmersdorf
- LOGW Unterfladnitz
- LOIH Hohenems
- LOIJ St. Johann
- LOIK Kufstein
- LOIR Reutte Höfen
- LOKF Feldkirchen
- LOKG Glainach
- LOKH Friesach
- LOKL Lienz / Nikolsdorf
- LOKM Mayerhofen
- LOKN Nötsch
- LOKR Sankt Donat
- LOKW Wolfsberg
- LOLC Scharnstein
- LOLE Eferding
- LOLF Freistadt
- LOLG Sankt Georgen
- LOLH HB-Hofkirchen
- LOLK Ried Kirchheim
- LOLO Linz Ost
- LOLS / LOLD Schärding-Suben
- LOLM Micheldorf
- LOLT Seitenstetten
- LOLU Gmunden
- LOLW Wels
- Windparks Österreich
- LOIQ Schenkair Feldkirch
- LOSM Mauterndorf
- LOWF Fischamend
- LOWG Graz Thalerhof
- LOWI Innsbruck Kranebitten
- LOWK/LOMU Klagenfurt
- LOWL Blue Danube Airport Linz
- LOWS W.A.Mozart
- LOWW Wien Schwechat
- LOWZ Zell am See
- LOXA Aigen
- LOXN Wr. Neustadt West
- LOXT Tulln
- LOXZ Zeltweg
- Leopoldsdorf im Marchfeld
- Aircrafts
- OE-HANGAR
- Tips und Tricks
- Addons für Österreich
- Allgemeines zur X-Plane Welt
- Europäische Strassen
- Kalkulation Light-Spill
- LUA-Scripts
- Modifikation von X-Plane mit JSGME
- PCL (Pilot controlled lights)
- Weniger Schnee auf der Runway
- Europäische Autobahn Beleuchtung
- Flugzeug-Bemalungen (Liveries) anpassen
- Tutorials
- Wir bauen eine Szenerie I
- Wir bauen eine Szenerie II
- Objekte für X-Plane I
- Objekte für X-Plane II
- Objekte für X-Plane III
- Objekte für X-Plane IV
- Objekte für X-Plane V
- Objekte für X-Plane VI
- Animationen bei Objekten
- Objekte in X-Plane positionieren (WED)
- Die Anwendung von Fassaden (.fac)
- Helipads als Markierung
- Rollmarkierungen
- Strassen mit Verkehr selbst erstellen
- Wir bauen eine Linie (.lin)
- Wir bauen einen Wald (.for)
- Wir bauen uns Bäume (.obj)
- Work in progress
- LIVERIES
- A319-100 OE-LDG
- A320-232 (Paul Glanville)
- A320-232 (QPAC)
- A321 (riviere) Austrian OE-LBF
- AS 350 B3+
- Airbus A330-200 (JAR-Design)
- Aquila A210 (Picus-X)
- BK117 (NDArt)
- Boeing 737-300 (IXEG)
- Boeing 737-8 ZIBO
- Boeing 737-800 (EADT)
- Boeing 747-8i Adv. (SSG)
- Boeing 757-200PW+RR (FF)
- Boeing 757-300RR (Flight Factor)
- Boeing 767 (Flight Factor)
- Boeing 777-200ER (Ramzzess)
- Boeing 787
- C172SP
- CRJ-200 (JROLLON)
- CRJ200
- Dash 8 Q400
- Diamond Aircrafts
- E-190 (SSG)
- EC-135V3 (Rotorsim.de)
- MD80 (Rotate)
- MD902 (Dawson Designs)
- Pilatus PC6
- RJ100
- Vickers Viscount
- Missionen / Flugpläne
Wir bauen einen Wald (.for)
Verfasst von oe3gsu am Di, 2013-10-29 15:11
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:
- Ein Grafikprogramm zum Zeichnen der Bäume; ich verwende GIMP
- Einen Grafik-Viewer; ich verwende dazu IrfanView
- Einen Texteditor, der keine Formatierungs oder Steuerzeichen einfügt.; ich verwende den Windows-eigenen Editor oder Notepad++
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:
- Area: Die gesamte Fläche wir mit Bäumen gefüllt.
- Linear: Bäume wachsen nur an durch die Punkte definierten Linien
- Points: Nur wo wir einen Punkt gesetzt haben, wird ein Baum gezeichnet.
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: