Heli-X

Szenerie-Erstellung für Flugsimulatoren (Heli-X)

Vorbereitung

Lange Zeit hatte ich die verschiedenen Szenarien der Flugsimulatoren bewundert.
Nun wollte ich auf meinem Heimatflugplatz der Fliegergruppe Schorndorf auch gerne im Simulator nutzen.
Schlussendlich habe ich mich in die Materie eingelesen und möchte hier ein paar Tipps und Tricks bzw. den Weg zum eigenen Szenario beschreiben.

Mein Simulator-Favorit ist der Heli-X und somit wurde begonnen die Schorndorfer Szenerie hierfür zu erstellen.

Zuerst braucht man das geeignete Equipment. Hierzu zählt eine gute Kamera, bei welcher die Belichtung manuell eingestellt werden kann. Zusätzlich braucht man zwingend ein Stativ bei welchem mit einem geeigneten Aufsatz der "No Parallax Point" (Nodalpunkt) einstellbar ist. Ohne diese Ausstattung wird es später nahezu unmöglich die Bilder Deckungsgleich auszurichten.
Eine Anleitung zum einstellen des Nodalpunkts findet man bei YouTube unter https://youtu.be/LrLhI3ezmSM
Ein Meterstab zum Ausmessen der Linsenmitte zum Boden sollte auch nicht fehlen.
Die Bilder anschließend am besten im TIF Format aufnehmen. So hat man hochwertige Bilder für die weitere Verarbeitung.

Aufgenommen habe ich meine Bilder mit der kleinste Blendenöffnung (ist bei meiner Kamera die F8). Die Helligkeit wird dann über die Belichtungsdauer geregelt. So Ist es möglich, dass man auch die Wolken später noch erkennt. Die Bilder haben dann zwar alle unterschiedliche Belichtungen, aber die Software zum zusammenfügen (stiching) macht später den Abgleich der Bilder. Fotografiert habe ich die Bilder mit einer Überdeckung von 20-40%

infoAm Besten eignet sich ein Tag mit Kumuluswolken welcher auch nicht zu windig ist. Ansonsten hat man später das Problem, dass man die Wolken nicht zusammenfügen kann.

Hier mal zwei meiner Bilder, welche wir anschließend zusammenfügen wollen:

   

Zusammenfügen von Bildern (stiching)

Für das zusammenfügen der Bilder habe ich Hugin verwendet.
In Hugin gibt es verschiedene Modi, ich habe die beste Erfahrung mit dem Experten-Modus gemacht.
Am besten ist es nicht alle Bilder auf einmal hinzu zu fügen. Sondern z.B. erstmal die erste Ebene der 360° Umsicht.
Nun werden die Bilder ins Programm eingefügt. Das erste Bild ist in der Regel der Anker, also die Frontansicht.

Die Bilder werden anschließend selektiert und bei "Abgleich von Merkmalen" auf "Kontrollpunkte erstellen geklickt.
Hugin sucht nun mögliche Verbindungspunkte der Bilder.

Im Tab Kontrollpunkte sieht man anschließend die Verbindungen. Damit Hugin die Ausrichtung neu zu berechnen muss man noch auf das Icon für "Erneut Optimieren" klicken.

Im oberen Bereich bei bei den Bildnamen sieht man einen Balken, dieser ist momentan noch rot. Optimal wäre hier ein grüner Balken. Dies erreichen wir, indem die Punkte mit den großen Abständen gelöscht werden. Um so besser die Punkte, umso besser wird das Bild anschließend.
Nach dem löschen der Punkte immer auf "Erneut Optimieren" klicken.

infoWenn man den Dialog Kontrollpunkte öffnet, kann man auch mehrere Punkte auf einmal löschen.

Ergebnis:

Ist man mit dem Ergebnis zufrieden, kommt als nächstes das Zusammenfügen.
Hat man alle Teile, so bekommt man einen Blickwinkel von 360°/180°.
Ein Beschnitt sollte auch nicht nötig sein und das Seitenverhältnis muss 2:1 betragen.
Bei der Panorama-Ausgabe wird die Belichtungskorrektur aktiviert.

Nach dem klick auf jetzt zusammenfügen wird das Panorama berechnet und zusammengefügt. Dies dauert je nach Rechner eine ganze Weile.
Das Ergebnis der zwei Bilder sieht dann so aus:

Nachdem man alle Bilder zusammengefügt hat bekommt man seine komplette 360°/180° Ansicht:

Vorbereitung für Heli-X

Nun haben wir ein Panorama im sphärisch (equirectangular) Format. Mit diesem Format kann aber Heli-X nichts anfangen.
Heli-X verwendet ein Cubic-Format (Würfel), welches allerdings eine Außenansicht hat.

Zum wandeln des kompletten Panoramas in die sechs Bestandteile eines Würfels gibt es die Planotools-Scripts (Homepage) bei diesem ist ein Konvertierungsprogramm dabei, welches ein Hugin Projekt zum direkten Aufruf mit dem Hugin Program nona erstellt.

Folgende zwei Kommandos unter Linux konvertieren das Panorama in einen Würfel in der Auflösung 4096px

# erect2cubic --erect=panorama.tif --ptofile=4096_panorama.pto --face=4096
# nona -o 4096 4096_panorama.pto

Anschließend bekommt man die sechs Bilder. Nun muss man die Bilder noch auf der vertikalen Achse spiegeln.
Für Heli-X werden die Bilder auch noch in das PNG-Format umgewandelt.

Heli-X Szenerie

Zum anlegen einer Heli-X Szenerie nimmt man am einfachsten eine bestehende Szenerie und kopiert die Hauptdatei in einen neuen Ordner.

Die Struktur ist wie folgt:

Szenennname
- Szenenname.xml
- 4096
- Szenenname_[back|bottom|front|left|right|top].png

Als erstes fügt man die Bilder hinzu und probiert die Szene in Heli-X. Hat man die Anordnung richtig, kann man in der Szene bereits fliegen.

Kollisionsobjekte

Damit die Szenerie realer wirkt oder auch im Unebenheiten im Gelände auszugleichen, muss diese noch modelliert werden.
Hier kommt nun blender (Homepage) zum Einsatz.
Mit dem passenden Plugin für Blender (Homepage) kann man die neue Szenerie in Blender importieren.
In blender wird viel mit Shortcuts gearbeitet. Es benötigt also eine gewissen Einarbeitung. Die Bedienung ist aber soweit selbsterklärend, die Shortcuts bekommt man beim drüberfahren mit der Maus.

Wichtig ist es später jedem Objekt die "Custom Properties" für Heli-X bzw. für den Export zuzuweisen.
Die technische Beschreibung der Properties findet man im Handbuch von Heli-X.

Die Maßeinheit in Blender ist in Meter. Mit Hilfe von google Maps lassen sich die Entfernungen bestimmen und mit dem  

Starten wir also mit dem Import. Nach dem aktivieren des Plugins (Edit -> Preferences - Add-ons) gibt es einen Menüpunkt File -> Import -> Heli-X Skymap.
Hier wählt man den Ordner mit seiner Szenerie aus. Blender importiert nun die Skymap und zeigt im initialen Bildschirm die Szenerie an.


In diesem Fenster sieht man die Kameraansicht (man kann zwischen der Modelllierungsansicht und der Kameransicht mit der 0 auf dem Ziffernblock umschalten).
Rechts sieht man die Scene Collections. Neue Heli-X Objecte müssen unterhalb von Collection Collision Objects eingefügt werden.
Hat man wie im Bild die "Camera" ausgewählt sieht man unterhalb die Eigenschaften der Kamera. Klickt man auf Rotation Z mit der Maus und hält die Taste, so kann man sich im Blickfeld drehen. Mit dem Mausrad kann man in die Szene zoomen.

Für das Beispiel drehe ich die Kamera, so dass ich die kleine Hütte im Bild sehe und zoome diese heran.

Zum Modellieren der Szene öffnet man in blender am einfachsten eine neues Fenster (Window -> new Window)
Im neuen Fenster sehen wir erstmal nur eine graue Fläche. Nun klicken wir noch auf das blaue Z um die Ansicht von oben zu aktivieren. Nun sehen wir immer noch nicht viel, dies liegt daran, dass wir von oben auf die Szene schauen und oben und unten ist noch top und bottom aktiv.
Durch einen Klick auf das Auge in der "Scene Collection" machen wir diese Seiten unsichtbar.

Jetzt messen wir in google die Entfernung. In meinem Fall ist die Hütte ungefähr 43 Meter von mir weg.
Mit dem Lineal ziehen wir also eine Linie mit ca. 43 Meter in unsere Richtung.
Im anderen Fenster muss diese Linie dann auf die Ecke passen. Blender bekommt leider im anderen Fenster nicht automatisch die Messlinie mit, so dass kurz zwischen zwei Objekten in der Scene Collection umgeschaltet werden muss. Die Linie passt zwar noch nicht in der Höhe, dieses Problem lösen wir aber später.
Das Ergbnis sieht dann so aus:

Nun erstellen wir die erste Fläche. Hierzu im Fenster bei den "Scene Collection" die "Collection Collision Objects" auswählen.
Mit Add -> Mash -> Plane wird eine neue Fläche erstellt.

Die neue Fläche wird in der Mitte am Kamerapunkt eingefügt.

Mit der TAB Taste wechselt man in den Edit Modus. Nun die komplette Fläche auswählen. Oben links neben der Anzeige des Modus gibt es drei Icons. Eines zum selektieren von Punkte, Linien und Flächen. Wir nehmen die Flächenmarkierung und klicken auf unsere Fläche (Diese sollte dann markiert sein). Anschließend g für den Move drücken. Wichtig ist nun noch die Selektion der Achsen. drückt man nach dem g ein y lässt sich die Fläche nur in der Y-Achse verschieben. Drückt man aber z.B. Strg-z so wird die Auswahl der Achsen negiert. Somit ist ein verschieben in X/Y möglich, nicht aber in Z.
Genau dies wollen wir nun machen, also ein g für den move und anschließend ein Strg-Z um die Z-Ache abzuwählen. Nun kann man die Fläche an die neue Position schieben.
Mit Tab kann weder in den Object Mode geschalten werden und wir sehen das Maßband wieder. Im zweiten Fenster sehen wir die Fläche nun auch am Ende des Maßbandes.
Nun müssen wir die Fläche noch nach oben schieben. Also Edit-Modus, Selektieren, G, Z und dann verschieben. Wenn man die Schift-Taste während dem Verschieben drückt, sind die Schritte kleiner. Das Ergebnis sollte dann so aussehen:

Nun zoomen wir die Fläche noch heran. Laut google ist die Hütte 3,5x3,5 Meter groß. Unsere Fläche ist aber nur 2x2 Meter. Also müssen wir diese nun Skalieren.
Hierzu gehen wir wieder in den Edit Modus und wählen diesmal den Linienselektionsmodus aus. Nun selektiert man eine kante und drückt g und wählt die entsprechende Achse, z.B. X. Mit der Maus können wir nun die Linie verschieben. Da dies aber ungenau ist, geht es auch einfacher.
Linie Selektieren, X Drücken, 1,5 Eingeben und Return drücken.

Da die Hütte nicht im 90° Winkel steht, muss die Fläche noch leicht gedreht (rotate) werden.
Also drehen und die Position etwas korrigieren.

Nun muss aus der Fläche noch ein Körper werden. Des geht mit der Taste e (Extrude). Also wieder Edit-Modus, Fläche wählen, e-Taste, z für z-Achse und die Fläche nach oben ziehen.

Nun noch ein zweites mal Extrudieren bis zur Spitze des Giebels.

Man sieht schön, dass es zwei Körper übereinander gibt. Nun wollen wir noch den Giebel. Hierzu selektiert man die zwei Punkte an der Stirn (mit gedrückter Strg-Taste lassen sich mehrere Punkte selektieren.

Nach der Selektion drücken wir s (scale) und 0 um die Größe auf 0 zu setzten. Und fertig ist die erste Seite. Das gleiche auf der Hinterseite und wir haben unseren Gibel.

Nun muss dem neuen Körper noch Ein Material zugewiesen werden. Wichtig sind hier wie bereits erwähnt die Custom Properties. Diese benötigt Heli-X.
Am einfachsten ist es man kopiert sich das Material aus einer bereits bestehenden Heli-X Szenerie und ändert diese dann nach seinen Wünschen ab.

Die fertige Szenerie wird anschließend mit File -> Export -> Heli-X Skymap wieder exportiert.

Jedes fertige Objekt aus blender muss mit dem Tag <TopographyFile>Name.xml</TopographyFile> mit der Szenerie in der Hauptdatei verknüpft werden.

Importiert man später die Szenerie erneut, werden sie einzelnen Topographie-Dateien jeweils als eigenständige Collection Collision Objects angezeigt.

infoMöchte man hinter ein Objekt z.B. einer Absperrung fliegen muss man das Bild entsprechend mit einem Alphakanal freistellen. D.h. das z.B. die Absperrung sichtbar ist, der Rest aber vom Alphakanal im Bild verdeckt wird.

Zurück