Computer Graphics Page 6
Animation
Animation: any change that has a visual effect.
Motion Dynamics: movements (geometry change)
Update Dynamics: attribute change (color, texture, …)
Others: camera position, lighting, rendering techniques, …
1. key-frame animation:
Þ Key frames
Þ Inbetweening
Þ Interpolations:
Lerping (linear interpolation),
parabola interpolation
Implementation using an animation language:
· Programmers provide a set of key time-position values.
· The language does the inbetweening (interpolation).
Example:
Key-time: [0.0, 0.5, 1.0]
Key-position: [(0,0,0), (5,20,0),(10,0,0)]
2.
Neighborhood skeletons: use a skeleton to define interpolated shapes, usually done by animation tools with sketching capability.
3. LUT animation:
look up table animation: cycle the colors in the lut.
Figure 21.4
4. Animation Languages:
Linear list notations
e.g.:
42,53,B ROTATE “PALM”,1,30
Between frames 42 and 53, rotate the object called PALM about axis 1 by 30 degrees, determining the amount of rotation at each frame from table B.
General purpose languages
e.g.
grasp my-cube
cw 0.5
grasp camera
right panning
Graphical languages : describe animation in a visual way instead of using a scripts.
e.g. P-curves (parametric representation of motion)
Figure 21.5
5. Animation Control
Þ Explicit: animator provides a description of everything that occurs in the animation.
Þ Tracking live action.
Þ Procedural: movement computed by a procedure.
Þ Actors (Object-oriented high-level procedural control)
Þ Kinematics: positions and velocities of points.
Þ Dynamics: physical laws that govern kinematics.
Þ Physically based: cloth draping, plastics bending, …
Þ Constraint-based: constraint movements.
Figure 21.7
6. Baisc Rules of Animation: to reduce jerky motion (temporal aliasing).
Double Buffering
Þ Why?
à to reduce flickering
Þ How?
à Draw to the invisible back buffer,
à Copy to the visible front buffer. (Btblt)==>very fast with HW assistance
7. Game Programming: interactive animation.
Controlers (input devices):
CL (commend line input)
GUI (Graphical User Interface)
NUI (Natural Interface)
Avitors and Game Objects:
OpenGL (Open Graphics Library):
for local display
WebGL, VRML (Virtual Reality Modeling Language), X3D:
for remote display
Game Engines:
Unreal, Unity3D, Maya, Blender, Panda3D
09/24/15