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
Grundlagen: Animation & Java 3D
Behavior
ColorInterpolator
Billboard
Interpolator
RotPosPathScaleInterpolator
LOD
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
Das Alpha Objekt
Zeitgeber für die Animation
Dauer eines Zyklus
1
4 Phasen:
1.
increasingAlphaDuration
2.
alphaAtOneDuration
3.
decreasingAlphaDuration
4.
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