Seminarvortrag Carsten Orth „Das OpenFlight-Format zur Definition von 3D-Modellen in der Flugsimulation“
CAE Elektronik Proprietary Information and/or Confidential Gliederung Einleitung/Motivation Anforderungen an ein 3D-Modell in der Flugsimulation Vergleich zu 3D-Modellen anderer Einsatzgebiete Realisierungen der Anforderungen in OpenFlight Allgemeines Degree of Freedom Switches Level of Detail Bounding Volume Externe Verweise 3D-Modelle in der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Gliederung Das OpenFlight-Format Allgemeines Datenstruktur und Laufzeitmodell von OpenFlight Transformation in eine binäre FLT-Datei Definition eines Dateiformates Abbildung der Baumstruktur auf Records Vorstellung einzelner Records Fazit Literaturangaben
CAE Elektronik Proprietary Information and/or Confidential Gliederung Einleitung/Motivation Anforderungen an ein 3D-Modell in der Flugsimulation Vergleich zu 3D-Modellen anderer Einsatzgebiete Realisierungen der Anforderungen in OpenFlight Allgemeines Degree of Freedom Switches Level of Detail Bounding Volume Externe Verweise 3D-Modelle in der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Motivation Einsatz von Simulatoren immer häufiger (kostengünstiger, ungefährlich und flexible Anwendungsmöglichkeiten) die CAE Elektronik GmbH ist auf Simulationssoftware spezialisiert große Mengen an 3D-Modellen für eine Simulation erforderlich nicht nur statische, sondern auch dynamische Modell-Daten gute Organisation der Daten für vernetzte oder autonome Simulationen wichtig Einleitung
CAE Elektronik Proprietary Information and/or Confidential Gliederung Einleitung/Motivation Anforderungen an ein 3D-Modell in der Flugsimulation Vergleich zu 3D-Modellen anderer Einsatzgebiete Realisierungen der Anforderungen in OpenFlight Allgemeines Degree of Freedom Switches Level of Detail Bounding Volume Externe Verweise 3D-Modelle in der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Anforderungen an ein 3D-Modell in der Flugsimulation Echtzeitsimulation → Frames müssen schnell gerendert werden großes Sichtfeld und hohe Geschwindigkeit des Flugobjektes → viele Daten müssen in kurzer Zeit ausgewertet werden gute Struktur zur Kommunikation mit der Simulation exakte Modellierung physikalischer Gegebenheiten Anforderungen an ein 3D-Modell in der Flugsimulation
CAE Elektronik Proprietary Information and/or Confidential Vergleich zu 3D-Modellen anderer Einsatzgebieten CAD-Modelle exaktere Interpolation geometrischer Formen keine Echtzeitsimulation / keine grafischen Ansprüche Speicherung anderer Daten (Bemaßungen etc.) 3D-Animationen in Film- und Werbeindustrie (CGI) keine Echtzeitsimulation, viel aufwändigere Bildgenerierung Spieleentwicklung freie Gestaltung virtueller Welten keine Bindung an physikalische Gesetzmäßigkeiten und sachspezifische Einzelheiten Anforderungen an ein 3D-Modell in der Flugsimulation
CAE Elektronik Proprietary Information and/or Confidential Allgemeines Grundgerüst wie bei anderen 3D-Formaten geometrische Konstruktion durch Vertices, Faces und Meshes grafische Aufbereitung durch Texturen funktionale Elemente zur Umsetzung der Anforderungen (Level of Detail, Degree of Freedom etc.) Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Degree of Freedom Verleihen von Freiheitsgraden an einzelne Objekte Rotation Translation Skalierung Degree of Freedom als Einhängepunkt für die Simulation (Trailing Effects) Während der Simulation ansprechbar Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Switches Speicherung verschiedener Stadien in einem Modell Schalter zwischen verschiedenen Darstellungsweisen ähnlich wie Switch in Programmiersprachen Während der Simulation ansprechbar Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Level of Detail Verschiedene Detailstufen modellierbar Detailstufe abhängig von Entfernung des Betrachters deutliche Reduzierung der auszuwertenden Polygone Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Bounding Volume primitive, geometrische Form, die alle Komponenten umschließt ganzem Modell, aber auch einzelnen Objekten zuweisbar einfache Auswertung, ob ein Objekt zur Berechnung hinzugezogen werden muss Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Externe Verweise Verweise auf andere Modelle (FLT-Dateien) Modularisierung eines Virtuellen Modells übersichtlichere Struktur leichte Änderungen am gesamten Modell Verknüpfbar mit anderen Elementen (z.B. LOD) oft dient eine Modell-Datei als übergeordnete Strukturdatei Häufige Anwendung bei Geländedaten (Terrain-Chunks) Realisierung der Anforderungen in OpenFlight
CAE Elektronik Proprietary Information and/or Confidential Gliederung Einleitung/Motivation Anforderungen an ein 3D-Modell in der Flugsimulation Vergleich zu 3D-Modellen anderer Einsatzgebiete Realisierungen der Anforderungen in OpenFlight Allgemeines Degree of Freedom Switches Level of Detail Bounding Volume Externe Verweise 3D-Modelle in der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Allgemeine Formate Unterschiedliche Anforderungen → viele unterschiedliche Formate (hersteller- abhängig) 2 Arten der Speicherung Binärdatei ASCII-Code Object-Format (.obj) einfach, verständlich, aber nur statische Modelle Collada (.dae) Von Khronus-Group entwickelt XML-basiert, hierarchisch strukturiert und daher flexibler 3D-Modellein der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential 3D-Modelle von Flugsimulatoren auch unterschiedliche Anforderungen in der Flugsimulation → unterschiedliche, z.T. stark angepasste und proprietäre Formate Desktop-Simulatoren Beispiele: FlightGear oder X-Plane Verwendung simplerer Formate (AC3D - ähnlich Object) Professionelle (Militär-) Simulation Beispiele: Lockheed Martin oder Bohemia Interactive Eigene, angepasste Formate (P3D Programmiersprache ähnlich) 3D-Modellein der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Editoren und Viewer Editoren und Viewer haben auch eigenes Laufzeitformat auf ein bestimmtes Format ausgelegt (Native Format) Unterstützung anderer Formate (bei Konvertierung können Informationen verloren gehen) kostenfreie Editoren und Viewer versuchen breites Formatspektrum abzudecken, haben aber auch eigenes Format Beispiele Multigen bzw. Presagis Creator (FLT)-proprietär Oxygen 2 (P3D)-proprietär OpenSceneGraph (OSG)-quelloffen Blender (BLEND)-quelloffen 3D-Modellein der Simulationsindustrie
CAE Elektronik Proprietary Information and/or Confidential Gliederung Das OpenFlight-Format Allgemeines Datenstruktur und Laufzeitmodell von OpenFlight Transformation in eine binäre FLT-Datei Definition eines Dateiformates Abbildung der Baumstruktur auf Records Vorstellung einzelner Records Fazit Literaturangaben
CAE Elektronik Proprietary Information and/or Confidential Allgemeines 1988 von MultiGen Paradigm entwickelt damals nur „Flight“ (.flt) 1995 Präfix „Open“ erhalten 2007 von CAE Inc. aufgekauft und zu Presagis vereint stetige Weiterentwicklung (Flight 1.0 – OpenFlight 16.4) Presagis/MultiGen Creator als zugehöriger Editor Anwender: NASA Ames, Flightsafety, Aegis, AVT-Simulations, CAE Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Datenstruktur und Laufzeitmodell hierarchische Struktur (Baum) Knotenpunkte Containerknoten (funktionale Elemente) enthalten funktionsspezifische Attribute z.B. Level of Detail (Switch in/out Distanz) Geometrieknoten (geometrische Elemente) enthalten geometrische Formen und Attribute zur Darstellung dieser z.B. Faces (Material, Farbe) Vertexknoten (Basiselemente) beschreiben diskrete Punkte im Koordinatensystem Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Datenstruktur und Laufzeitmodell Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei Das OpenFlight-Format „Ein Dateiformat definiert die Syntax und Semantik von Daten innerhalb einer Datei. Es stellt damit eine bidirektionale Abbildung von Informationen auf einen eindimensionalen binären Speicher dar.“ Wikipedia
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei OpenFlight ist ein binäres Dateiformat Byte-Reihenfolge ist Big-Endian Einteilung einer Datei in einzelne Datenblöcke (Records) Interpretation eines Datenblocks mit Hilfe der OpenFlight-Spezifikation möglich Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei Records einzelne Datenblöcke in einer OpenFlight-Datei Identifikationsnummer (Opcode) in den ersten 2 Byte eines Records Länge des gesamten Records folgt nach Opcode (2 Byte) Headerrecord am Anfang der Datei liefert generelle Daten Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Datenstruktur und Laufzeitmodell Recordtypen Control Records strukturelle Datenblöcke z.B. Push- und Pop-Records markieren Sprung in der Hierarchie Node Primary Records entsprechend zu den Knoten des Laufzeitformates z.B. Level of Detail oder Degree of Freedom Ancillary Records Speicherung komplexer Attribute eines Node Primary Records liegen auf selber Ebene z.B. Bounding Box Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Abbildung des Laufzeitmodells auf Records Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei Palette Records Tabellen zur Speicherung häufig verwendeter Attribute (z.B. Farben oder Materialien) Ancillary Record des Headers Referenzierung durch Index Einsparung von Arbeitsspeicher modulare Handhabung Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei Instancing Modularisierung innerhalb einer OpenFlight-Datei Definition eines standalone Subtrees (Instance Definition Record) Referenzierung geschieht über Index (Instance Reference Record) Transformation der einzelnen Instanzen (sonst räumlich übereinander) Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Transformation in eine binäre FLT-Datei Das OpenFlight-Format
CAE Elektronik Proprietary Information and/or Confidential Gliederung Das OpenFlight-Format Allgemeines Datenstruktur und Laufzeitmodell von OpenFlight Transformation in eine binäre FLT-Datei Definition eines Dateiformates Abbildung der Baumstruktur auf Records Vorstellung einzelner Records Fazit Literaturangaben
CAE Elektronik Proprietary Information and/or Confidential Vorteile / Nachteile + viele verschiedene Eigenschaften für schnelle Datenauswertung + dynamische Modellierung möglich + sehr flexibel + offene Nutzung und gute Dokumentation + stetige Weiterentwicklung + viele Möglichkeiten Speicherressourcen einzusparen -hoher Aufwand bei der Erstellung eines Modells -viele Funktionen für die meisten Anwendungen uninteressant (ca. 150 Records) -gewisser Overhead für ungenutzte Attribute Fazit
CAE Elektronik Proprietary Information and/or Confidential Fazit OpenFlight ist für kleinere Anwendungen zu komplex viele professionelle Simulationskonzerne nutzen eigene, stark angepasste Formate trotzdem von einigen großen Herstellern verwendet und erfolgreichstes, „professonelles“ Format in der Flugsimulation Fazit
CAE Elektronik Proprietary Information and/or Confidential Literaturangaben Brockway, Dan: WRM Entity Flight Specification Fischer, Maximilian: Modellierung von variablen Open Flight Objekten für 3D Echtzeitsimulationen, Fachhochschule für Medien und Kommunikation München, Bachelor Thesis, MultiGen Paradigm (Hrsg.): The MultiGen Creator Desktop Tutor MultiGen Paradigm, 2001 OpenFlight 16.4 Specification. Version: MultiGen OpenFlight API Refernce v Wikipedia - Dateiformat Wikipedia - OpenFlight. Version: Wikipedia Wavefront OBJ. Version: AC3D File Format. Version: Bohemia P3D File Format. Version: Presagis History. Version: Literaturangaben
Thank you
Fragen?