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

Animation in Java 3D

  • Upload
    aysha

  • View
    26

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Animation in Java 3D

Animation in Java 3DAusarbeitung im Seminar Java 3D

Von: Torben Höft; 14.11.2002

Page 2: Animation in Java 3D

Inhalt

Grundlagen Rezept Alpha Objekt Interpolatoren Billboard,OrientesShape3D &LOD MORPH

Page 3: Animation in Java 3D

Grundlagen: Animation & Java 3D

Interaktion: Manipulation durch Aktionen des Benutzers

Animation: Manipulation durch verstreichen eines festgelegten Zeitintervalls

Page 4: Animation in Java 3D

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

Grundlagen: Animation & Java 3D

Behavior

Billboard

Interpolator

LOD

ColorInterpolator

RotPosPathScaleInterpolator

Page 6: Animation in 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

Page 7: Animation in Java 3D

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

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

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

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

Die Interpolatoren

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

(Transparenzveränderungen)

Page 12: Animation in Java 3D

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

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

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

Morph

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

Page 16: Animation in Java 3D

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

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