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

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

Embed Size (px)

Citation preview

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

Animation in Java 3DAusarbeitung im Seminar Java 3D

Von: Torben Höft; 14.11.2002

Page 2: 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

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

Grundlagen: Animation & Java 3D

Interaktion: Manipulation durch Aktionen des Benutzers

Animation: Manipulation durch verstreichen eines festgelegten Zeitintervalls

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

Grundlagen: Animation & Java 3D

2 Arten der Animationserstellung:– Manipulation des Szenengraphen– Manipulation des Sichtfeldes

Basis: Behavior Klasse Ausnahmen

– OrientedShape3D– Morph

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

Grundlagen: Animation & Java 3D

Behavior

Billboard

Interpolator

LOD

ColorInterpolator

RotPosPathScaleInterpolator

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

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

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

Das Alpha Objekt

Zeitgeber für die Animation

1

Dauer eines Zyklus

4 Phasen:

1. increasingAlphaDuration

2. alphaAtOneDuration

3. decreasingAlphaDuration

4. alphaAtZeroDuration

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

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)

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

Das Alpha Objekt

Beispiel:

Alpha alpha1 = new Alpha(-1, 5000);

Unendliche Wiederholung des Zyklus

Dauer eines Zyklus: Hier 5000 ms

Beispiel!

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

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

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

Die Interpolatoren

Die wichtigsten Interpolatoren:– RotationInterpolator (Rotationen) – PositionInterpolator (Translationen) – ScaleInterpolator (Skalierungen)– ColorInterpolator (Farbveränderungen) – TransparencyInterpolator

(Transparenzveränderungen)

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

Der PositionInterpolator

Ziel: Verschiebung eines ColorCube um 1 auf

der X-Achse (Standard)

PositionInterpolator TestInterpolator = new

PositionInterpolator(objekt alpha, objektCube)

Alpha ObjektTransformGroup Objekt

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

Animation erstellen

public BranchGroup createBG(){

- Zielobjekt und Capabilities- Alpha Objekt und Interpolator- Wirkungsbereich und Ergänzung des

Szenengraphen

} Beispiel!

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

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

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

Morph

Bisher nur Änderung von visuellen Attributen Ziel: Änderung der Geometrie

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

Morphing in Aktion

Erstellung einer eigenen Behavior Klasse Erstellen eines Array von GeometryArray

Objekten Erstellen des Morph Objekt Zusammenstellen des Szenengraphen

Beispiel!

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

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