180 likes | 273 Views
Animation in Java 3D. Ausarbeitung im Seminar Java 3D. Von: Torben Höft; 14.11.2002. Inhalt. Grundlagen Rezept Alpha Objekt Interpolatoren Billboard,OrientesShape3D &LOD MORPH. Grundlagen: Animation & Java 3D. Interaktion: Manipulation durch Aktionen des Benutzers
E N D
Animation in Java 3D Ausarbeitung im Seminar Java 3D Von: Torben Höft; 14.11.2002
Inhalt • Grundlagen • Rezept • Alpha Objekt • Interpolatoren • Billboard,OrientesShape3D &LOD • MORPH
Grundlagen: Animation & Java 3D • Interaktion: Manipulation durch Aktionen des Benutzers • Animation: Manipulation durch verstreichen eines festgelegten Zeitintervalls
Grundlagen: Animation & Java 3D • 2 Arten der Animationserstellung: • Manipulation des Szenengraphen • Manipulation des Sichtfeldes • Basis: Behavior Klasse • Ausnahmen • OrientedShape3D • Morph
Behavior ColorInterpolator Billboard Interpolator RotPosPathScaleInterpolator LOD Grundlagen: Animation & Java 3D
Rezept zur Animationserstellung • Erzeugen des zu manipulierenden Objekts mit den entsprechenden Capabilities • Erzeugen des Alpha Objekts • Erzeugen eines Interpolator • Setzen eines Schedulingbereichs • Hinzufügen des Interpolator zum Szenengraphen
Dauer eines Zyklus 1 Das Alpha Objekt • Zeitgeber für die Animation • 4 Phasen: • increasingAlphaDuration • alphaAtOneDuration • decreasingAlphaDuration • alphaAtZeroDuration
Das Alpha Objekt • Startzeit basiert auf Systemzeit • Beginn kann verzögert werden • Verändern der Phasen möglich • Wichtige Parameter: • LoopCount (Anzahl Zyklen) • IncreasingAlphaDuration (Dauer eines Zyklus)
Das Alpha Objekt • Beispiel: Alpha alpha1 = new Alpha(-1, 5000); Unendliche Wiederholung des Zyklus Dauer eines Zyklus: Hier 5000 ms Beispiel!
Die Interpolatoren • Notwendig um Zielobjekte zu animieren. Zum Beispiel: Rotation, Position, etc. • Interpolation von: • Bewegungen • Materialeigenschaften • Interpolator benötigt Zielobjekt und Alpha Objekt • Passt Zielobjekt je nach Alphawert an
Die Interpolatoren Die wichtigsten Interpolatoren: • RotationInterpolator (Rotationen) • PositionInterpolator (Translationen) • ScaleInterpolator (Skalierungen) • ColorInterpolator (Farbveränderungen) • TransparencyInterpolator (Transparenzveränderungen)
Der PositionInterpolator Ziel: Verschiebung eines ColorCube um 1 auf der X-Achse (Standard) PositionInterpolator TestInterpolator = new PositionInterpolator(objekt alpha, objektCube) Alpha Objekt TransformGroup Objekt
Animation erstellen public BranchGroup createBG(){ • Zielobjekt und Capabilities • Alpha Objekt und Interpolator • Wirkungsbereich und Ergänzung des Szenengraphen } Beispiel!
Billboard,OrientesShape3D &LOD • Sparen von Ressourcen • Billboard: • Dreht 2D Bild zum Betrachter • 3D-Objekte durch einfache Bilder ersetzen • OrientedShape3D ersetzt Billboard • Level of Detail (LOD) • Verringert Details eines Objekts je größer der Abstand zum Betrachter
Morph • Bisher nur Änderung von visuellen Attributen • Ziel: Änderung der Geometrie
Morphing in Aktion • Erstellung einer eigenen Behavior Klasse • Erstellen eines Array von GeometryArray Objekten • Erstellen des Morph Objekt • Zusammenstellen des Szenengraphen Beispiel!
Literatur • Sun Tutorial version 1.6 (Java 3D API v 1.2) • Kurth, W. & Roth, E.: 3D Einstiegs-Tutorial – Teil 2 • Theeß, S.: Einführung in die 3D Programmierung mit Java • Weniger, M.: Java 3D • O.V.: Weiterführende Informationen zu Java 3D