Animation in Java 3D Ausarbeitung im Seminar Java 3D Von: Torben Höft; 14.11.2002

Preview:

Citation preview

Animation in Java 3DAusarbeitung 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

Billboard

Interpolator

LOD

ColorInterpolator

RotPosPathScaleInterpolator

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

1

Dauer eines Zyklus

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 ObjektTransformGroup 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

Recommended