1 / 20

Animation & Java3D

Animation & Java3D. ©Anthony Steed 2002. Overview. Introduction to Animation Kinematics Dynamics Boids Java3D Scene graph Animation Vehicles. Animation. Kinematics Position, velocity and acceleration only Dynamics Based on forces, masses. Kinematics. Two forms

norton
Download Presentation

Animation & Java3D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animation & Java3D ©Anthony Steed 2002

  2. Overview • Introduction to Animation • Kinematics • Dynamics • Boids • Java3D • Scene graph • Animation • Vehicles

  3. Animation • Kinematics • Position, velocity and acceleration only • Dynamics • Based on forces, masses

  4. Kinematics • Two forms • Forward – specify each joint in hierarchy by hand • Inverse – specify position of end-effector and compute joint steps

  5. Forward Kinematics • Two joints S and E can be rotated. • End position is determined by rotational angle of S and E • Point p can be calculated from the matrices SE (and H, B which are fixed) E S p

  6. Inverse Kinematics • End effector (point p) is specified • E and S must be calculated • This is simple in this situation E S p

  7. Inverse Kinematics • For complex situations where more degrees of freedom in joints that required to specify p • Solve using a non-linear optimiser and further constraints • Energy minimisation p

  8. Kinematics • Key-framing • Specify transformations of individual joints or transformation of end-effectors at fixed points (key-frames) • Interpolate between them • Interpolation • Linear interpolation will look jerky, so use a spline interpolation

  9. Dynamics • Solve for a set of forces acting on a number of bodies • Discrete time-step integration • Car dynamics • Human gait patterns • Boids

  10. Boids • Boids • Avoid each other • Head in the same direction • Gravitate towards each other • Emergent behaviour is very complex

  11. Avoid Close Neighbours

  12. Head Toward Centre of Group

  13. Turn Towards Group Direction

  14. For each boid Keep position and velocity On each frame for group Find centre Find average velocity On each frame for each boid Forces are Attraction towards centre Attraction towards average velocity Repulse neighbours Calculate new velocity Calculate new position In Code

  15. Java3D Summary • Java3D is a 3D API for Java • Broad support across 3D graphics layers • immediate mode rendering through to HMD and free space tracker support • No built-in support for any file format • Limited VRML97 file reader available promised in near future • Not 100% Pure Java (currently) • relies on native bindings to graphics library for acceptable speed

  16. Nodes • Similar basic components to VRML • Geometry, Attributes, Groups, Sounds • Super-structure • Canvas3D, View, VirtualUniverse, Locale • Behaviors • Scheduling bound - scope for action potential • WakeUpConditions - triggers for behaviour • time / frames elapsed • Input Devices

  17. Scene Graph Actions • Designed so that parts of scene graph can be compiled to lower layers • Capability bits determine access to internals of scene graph • Support for copying scene graphs • Supports immediate mode rendering • pre/postRender for background/overlay graphics

  18. Boid Locale Boid Boid BoidSet (BranchGroup) Scene Graph RunTime Calls FlockBehaviour (Behavior) WakeupOnFramesElapsed(0) Event Source Example - Boid Set setTransform

  19. FlapBehaviour (Behavior) WakeupOnTransformChanged Alpha Morph Shape Triangle Array Shape Scene Graph Shape Triangle Array Run Time Call Triangle Array Reference Example - Boid Boid (TransformGroup)

  20. Recap • Kinematics • Motion independent of force • Used in “traditional” key-frame animation • Dynamics • Boids • Java3D • Scene graph

More Related