Animation in Java 3D

Werbung
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
Herunterladen