Imortieren geometrischer Daten unter Unity

Die Entwicklungsumgebung Unity ermöglicht den Import von fbx-Dateien. Dabei werden beim Importieren vorhandene Materiealien – , Geometriedaten – und Animationsbeschreibungen berücksichtigt. Durch Drag and Drop der entsprechenden fbx-Datei wird diese aus deren Speicherbereich in den Projektordner des aktiven Unity-Projekts gezogen. Die Abbildung 17 zeigt Unity’s Benutzerschnittelle nach erfolgreichem Import. Im Projektordner [1] stehen die importierten Geometrie – [2], – Animation –  [3 – 5] und die Materialdaten [6] für eine Weiterverarbeitung unter Unity zur Verfügung. Durch die Zuweisung eines „Animator Controller“ [7] zum 3D-Objekt können die importierten Animationen durch die Definition einer Finit State Maschine nacheinander ablaufen. Eine unter Unity definierte Finit State Maschine besitzt dabei eine bestimmte Anzahl an Objektzustände zwischen denen durch Ereignisse gewechselt werden kann. Abbildung 18  visualisiert die Animator-Benutzerschnittstelle. Per Drag and Drop werden die Piktogramme der einzelnen importierten Animationen in dem Arbeitsbereich des Animators gezogen [2-4]. Die entsprechenden Animationen stehen jetzt als Zustände für das Entwickeln einer Finit State Maschine zur Verfügung. Die durch den Benutzer definierte Finit State Maschine, dessen Zustandsdiagram durch die Abbildung 18 darstellt wird, startet vom Objektzustand „Entry“, der das Objekt nicht animiert, und geht in den Zustand „RotationX“[2] über, der den virtuellen Kopf um die X-Achse drehen lässt. Anschließend dreht sich der virtuelle Kopf um die Y-Achse (RotationY) und dann um die Z-Achse (RotationZ ). Letztendlich leitet der Übergang zum Zustand „RotationX“ die Wiederholung der Zustandskette ein. Der komplette Vorgang wird solange wiederholt bis die Animationskette vom Benutzer beendet wird.  Die Übergänge bzw. dessen Richtungen werden durch den gelben bzw. durch die weißen Pfeile markiert. Der Zustandsübergang passiert automatisch nach Beendigung einer Teilanimation des entsprechenden aktuellen Zustands. Natürlich könnten die Übergangszustände durch benutzerdefinierte Trigger – oder Zeitereignisse gesteuert werden.