Workshop: 'Crash-Objekte' für AFP-Panorama-Szenerien erstellen.


Bevor man mit Crash-Objekten anfängt, noch zwei Tipps für die Panoramabilder:

  1. Die Auflösung von 6144x2048 ist nach meinem Geschmack so gerade eben ausreichend um bei normalem Zoom-Zustand ein halbwegs scharfes Bild zu bekommen.
    Man sollte die Panoramabilder so erstellen, dass sie maximale Qualität und Schärfe bieten, nachdem sie zusammengeschnitten und aufbereitet wurden. Unscharfe Panoramabilder schmälern nach meinem Empfinden doch deutlich den plastischen Eindruck, den man bekommen kann. Also das "Mittendrin-Gefühl" ist bei unscharfen Panoramen nicht so toll.
    Wenn es möglich ist, sollte man versuchen die Panoramen am besten noch vor dem Zerschneiden etwas mit Scharfzeichnen oder am besten sogar mit 'unscharf maskieren' (und geeigneten Einstellungen) schärfer zu machen. Aber natürlich nicht zu viel! :-)
  2. Die Horizontlage ist sehr, sehr wichtig und sollte sauber eingestellt werden bevor man mit Crash-Objekten anfängt, da man sonst hinterher alles ändern muss wenn man die Horizontlage noch mal nachträglich ändert!!!!!
Hier ein Beispielbild von meinem Stadtpark: Der Horizont muss in etwa 1/6 der Gesamthöhe unterhalb der Mitte des Panoramas liegen, dann passen die visuell schätzbaren Entfernungen ganz gut mit dem Flugzeugschatten überein.
Also vorher gut testen und justieren!

Horizontlage einer Panoramaszenerie

Man kann die korrekte Horizontlage auch sehr gut überprüfen indem man mit einem Modell einfach mal auf dem Boden ganz weit weg rollt.
Es sollte dann immer noch rein optisch mit dem Horizont des Bildes übereinstimmen, also auch noch in weiter Entfernung 'auf dem Boden stehen' oder in Relation zum Boden den man unter dem Modell sieht, die passende Grösse haben.

Fängt das Modell bei diesem Test an zu 'schweben', muss die Horizontlage des Panoramas nach oben korrigiert werden.
Steht das Modell irgendwie komisch zu tief im Boden (oder wirkt Grass irgendwie zu gross in Relation zum Modell), muss die Horizontlage nach unten korrigiert werden.




So und nun zu den Crash-Objekten.
Das ist eigentlich recht einfach, erfordert aber viel Geduld.

Ich habe hier mal Screenshots von den wesentlichen Elementen gemacht:

Auf dem Bild unten sieht man das Endergebnis von dem was ich in Metasequoia gebaut habe. Das krumpelige Ding in der Mitte ist ein dreidimensionaler Nachbau des Strands aus der "Rhein"-Szenerie. Das grosse Recheck ist das Wasser. Es ist so gross gemacht, dass die Kugel mit den Panoramabildern auf jeden Fall ein kleines bischen kleiner ist (das Wasser ist also von der Kantenlänge her etwas grösser als der Kugeldurchmesser, damit man nirgends 'rausfallen' kann).

Gesamtansicht des Metasequoiaobjekts

Aber der Reihe nach:

Die Szenerien sind folgendermassen aufgebaut: Es gibt ein Bodenobjekt, das immer so heissen muss wie die Szenrie aber mit einem angehängten 'g'. In meinem Fall also 'Rheing.obj'. Dieses Objekt sollte mindestens einen grossen quadratischen Boden enthalten. Tut es auch, wenn du es von einer von Rainers Szenerien kopierst und entsprechend umbenennst.

Alle anderen Objekte können in beliebig benannten separaten OBJ-Dateien eingebunden werden. Bei der Rhein-Szenerie gabs einen Grund dafür warum ich alles in ein Objekt gemacht habe, aber das ist hierbei egal.

  1. Wenn du also ein Crash-Objekt erstellen willst, empfehle ich einfach erstmal in Metasequoia einen Klotz ein kleines Stück neben dem Koordinatenursprung (wichtig!!!) zu bauen und dem eine Streifentextur (kannste aus meiner Rhein-Szenerie nehmen) zu geben.
  2. Gib dem Klotz z.B. den Namen 'Trees_damage' und speichere es erstmal unter dem namen Trees.mqo.
    Das '_damage' wird später diesem Objekt die Eigenschaft verleihen, dass das Fliegerlein schon bei leichtester Berührung dran hängen bleibt und kaputt geht.

    Es gibt noch folgende andere Bodeneigenschaften:

    
    _asphalt = sehr glatter Boden
    _grass   = gemähtes Grass
    _meadow  = hohes Grass, ungemäht
    _water   = Wasser mit 'Plumps'-Effekt
    
    

  3. Wenn du deinen Klotz jetzt ins OBJ-Format konvertierst, heisst die Datei dann normalerweise gleich Trees.obj. Aber wie gesagt: du kannst hier beliebige Namen verwenden, nur das Basis-Objekt für den Boden ist einer Namenskonvention unterlegen (angehängtes 'g').
  4. Kopiere einfach das Trees.obj mit der Streifentextur in dein Szenerien-Verzeichnis und füge der .geo von deiner Szenrie folgendes hinzu:
    Die beiden blauen brauchst du für Boden und Paorama, sollten schon vorhanden sein, die rote ist z.B. für Bäume und muss noch extra hinzugefügt werden.

    
    GROUND     Rhein/Rheing.obj
    OBJECT     Rhein/Rhein_fein.obj
    OBJECT     Rhein/Trees.obj
    
    
  5. Öffne jetzt das Trees.obj mit einem Texteditor und suche nach folgenden Einträgen:
    diffuse 1.00 1.00 1.00 1.00

    Und ändere sie in diffuse 1.00 1.00 1.00 0.50

    Dadurch wird die Streifentextur halb transparent!

  6. Wenn du jetzt die Szenerie lädst, kannst du irgendwo in der Nähe des Beobachters den Klotz erkennen.
  7. So und jetzt kommt der langwierige Teil:
    Zerschneide den Klotz in Metasequoia ein paar mal in Längsrichtung - musst mal probieren welche die beste Richtung ist. Bei der Rhein-Szenerie habe ich den Strand quer zum Ufer ca. 20 mal zerschnitten, die Bäume auch.
  8. Zupfe jetzt jeden einzelenen Punkt solange, bis du meinst, dass er einigermassen mit den Bäumen übereinstimmt.
  9. Und jetzt kommts:
    1. Speichern
    2. Konvertieren
    3. In AFP laden
    4. Schauen ob die Änderung richtig war, visuell peilen, ob die Geometrie mit dem Panorama übereinstimmt (notfalls mit einem Flieger ein bischen herumfliegen und schauen, ob der visuelle Eindruck stimmt)
    5. Merken wo noch was geändert werden muss
    6. In Metasequoia das 3D-Modell entsprechend abändern

    Und dann die Punkte 9a bis 9f so lange wiederholen, bis die Crash-Objekte möglichst gut passen.

  10. Ganz zum Schluss, wenn alles fertig ist, setzt du den 'diffuse'-Wert auf
    diffuse 1.00 1.00 1.00 0.00

    Damit wird das Crash-Objekt unsichtbar.



Ich habe hier zur Veranschaulichung nochmal zwei Screenshots gemacht:

Hier sieht man gut den Strand von 'Rhein' mit den Bäumen.
Dort wo das Koordinatenkreuz ist, steht hinterher der Beobachter.
Man achte bei diesem Bild mal auf die hakenförmige Halbinsel unterhalb der Beobachterposition!

Strandobjekt in Metasequoia

Und hier ist das selbe Objekt halbtransparent im AFP geladen:
Ich habe mal den Zoom auf Weitwinkel gestellt. Du kannst recht gut die oben erwähnte Halbinsel erkennen (die Flugzeugnase zeigt drauf).
Auch das Crach-Objekt für die Bäume ist gut zu sehen. Es zieht sich komplett von der einen Seite der Szenerie bis zur anderen in einem Stück durch und legt sich wie ein langer Schal oder Halstuch an der Vorderseite der Bäume entlang und hat oben noch ein kleines 'Dach', damit man auch von oben an die Bäume stossen kann.

Strandobjekt im AFP

Auf dem letzten Bild kannst du sehr gut erkennen warum es zweckmässig ist, im OBJ-File den 'diffuse'-Wert zu ändern, damit wird das Objekt nämlich schön halb-transparent und man kann alles perfekt einstellen.

Bei solechen Szenerien wie der Stadtpark mss man übrigens nicht so einen Aufwand treiben wie ich es für den Strand in der Rhein-Szenerie gemacht habe (das hatte ich eher gemacht, um zu demonstrieren was machbar ist), denn der Boden kann bei einer grossen gemähten Wiese einfach als simples, grosses Rechteck gelassen werden, wie z.B. in Rainer Stein's Szenerien. Bäume können dann als einzelne Obejekte oder auch zusammenhängend wie in der Beispielszenerie hier gemacht werden.

Abschliessend noch eins:
Die hier beschriebenen Methoden ermöglichen Crashobjekte eigentlich nur für 'Hintergundobjkte' wie Bäume etc. - Ein 'Dahinter-Fliegen' ist so zwar möglich, aber da die Objekte voll transparent sind, ist der Effekt sehr unbefriedigend.
Für 'hinter-fliegbare' Vordergrundobjekte muss also eine abgewandelte Technologie verwendet werden, bei der man man keine transparenten Objekte mehr verwendet, sondern das Panorama-Hintergrundbild mit den gleichen Projektionskoordinaten auf diese Vordergrundobjekte projeziert.
Erst dadurch würde ein hinter dem Objekt fliegendes Modell auch wirklich verdeckt werden. Aber dabei gibt es noch eine Menge Details zu beachten, die den Rahmen dieses Workshops komplett sprengen würden.

'Hinter-fliegbare Vordergrundobjekte' ist deswegen auf jeden Fall ein Thema für einen weiteren Workshop...



Copyright für Bilder und Texte: Dietmar Kühn, 2004