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