Comprehensive Overview of Animation Techniques for Games

Animation
UMBC Graphics for Games
Skinning
 
Rigid motion
Translation + Rotation
Representable as matrix or new origin & orientation
Apply to every vertex
Jointed Bodies
Rigid parts, each with translation & rotation
Robots or mechanical objects
Apply to every vertex of rigid part
Chains of local transforms
Hand motion result of arm & wrist
Matrix form = composition of matrices
Linear Blend Skinning
Define jointed rigid skeleton
Vertex positions are weighted blend of closest bones
Bone = translation & rotation, not physical bone
Add extra spur bones
Muscle bulge
Preserve elbow shape (don’t round outside, don’t fold inside)
Avoid candy-wrapper twist
Building bone rig + painting weights = rigging
Blend Shapes
Multiple pose meshes: same vertices different positions
Linear blend between poses
More storage, but more flexible
Most common for faces
Authoring Animation
 
Keyframe Animation
From hand drawn animation
Lead animator draws poses at key frames
Inbetweener draws frames between keys
Computer animation
Can have separate keys for different attributes
Interpolate between values at key frames
How to Interpolate
Linear interpolation
Value V
0
 at time T
0
, V
1
 at time T
1
Fraction of the way from T
0
 to T
1
Lerp/mix equation
Spline
Set of polynomials
1 constraint per coefficient
Positions
Velocities
Acceleration
 
All constraints from 
control points
:
 
Resulting equations:
Bezier Spline
Bezier Basis Functions
Computing position
Bezier Basis Functions
Group by t
i
: coefficients
Bezier Basis Functions
Group by p
i
: Basis Functions
Bezier Basis Functions
Cubic Bezier basis functions
 
Constraints
 
Resulting equations:
Catmull-Rom Spline
Catmull-Rom Basis Functions
Automating Animation
 
Forward Kinematics
Given a set of joint angles, where’s the hand?
(or foot or head or …)
End effector
Just apply nested transforms
Forward Kinematics
Character is holding something in their right hand, want to shift it to
the left hand
Forward transform up tree
Inverse transform back down
Think of matrices as
Opposite order for OpenGL
Inverse Kinematics
Find angles to match end effector position
Few joints: system of equations
Many joints: optimization
Often with constraints
(wrist doesn't bend that way)
And heuristics
Minimal change
Load support
Physical data
Blending animations
Animation overlays
Just some joints, e.g. upper body for aiming
Common to create animation loops for specific behavior
Idle, walk, run, turn left, turn right
Need to transition between these
Speed up/slow down to match cadence, foot placements
Linearly blend bone transforms
Some games will cheat
e.g. pop or unsynced blend during critical action, good blend on playbeck
Motion Capture (mocap)
Track markers on actor
Infer transforms
Markers are on surface, not on bones
Not all markers visible every frame
Often significant artistic cleanup
Retargeting
Apply animation from one character to another
Simple: match skeletons
More complex
Consider changes in height, strength, weight
Adjust speed and motion
Most often used for mocap
Human actor ≠ giant ogre
Physics-based Animation
Generally: simulating the laws of physics to predict motion
Common applications:
Fluids, gas (3D grids or particles)
Cloth, hair (jointed mesh, may be coarse & interpolated)
Rigid body motion (jointed bodies, 
rag doll
 physics)
Model change as differential equations
Solve numerically in small time steps
Often don’t run to convergence
Autonomous Entities, Crowds, Groups
NPC, enemy characters
Usually simple techniques over learning methods
Want to tune difficulty, AI should be challenging, but don’t 
want
 it to beat you
Create complex group behavior from simple individual behavior
Flocks, crowds
Particle systems
Leverage techniques from AI & Robotics
A* path finding over a navigation mesh (
navmesh
)
State machines, decision trees
Slide Note
Embed
Share

Explore various animation techniques used in game development including skinning, rigid motion, jointed bodies, linear blend skinning, blend shapes, authoring animation, keyframe animation, interpolation methods, spline, and Bezier techniques. Understand the complexities and applications of these methods in creating realistic and dynamic game animations.

  • Animation Techniques
  • Game Development
  • Skinning
  • Keyframe Animation
  • Interpolation

Uploaded on Sep 30, 2024 | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Animation UMBC Graphics for Games

  2. Skinning

  3. Rigid motion Translation + Rotation Representable as matrix or new origin & orientation Apply to every vertex

  4. Jointed Bodies Rigid parts, each with translation & rotation Robots or mechanical objects Apply to every vertex of rigid part Chains of local transforms Hand motion result of arm & wrist Matrix form = composition of matrices

  5. Linear Blend Skinning Define jointed rigid skeleton Vertex positions are weighted blend of closest bones Bone = translation & rotation, not physical bone Add extra spur bones Muscle bulge Preserve elbow shape (don t round outside, don t fold inside) Avoid candy-wrapper twist Building bone rig + painting weights = rigging

  6. Blend Shapes Multiple pose meshes: same vertices different positions Linear blend between poses More storage, but more flexible Most common for faces

  7. Authoring Animation

  8. Keyframe Animation From hand drawn animation Lead animator draws poses at key frames Inbetweener draws frames between keys Computer animation Can have separate keys for different attributes Interpolate between values at key frames

  9. How to Interpolate Linear interpolation Value V0at time T0, V1at time T1 Fraction of the way from T0to T1 Lerp/mix equation

  10. Spline Set of polynomials 1 constraint per coefficient Positions Velocities Acceleration

  11. Bezier Spline All constraints from control points: Resulting equations:

  12. Bezier Basis Functions Computing position

  13. Bezier Basis Functions Group by ti: coefficients

  14. Bezier Basis Functions Group by pi: Basis Functions

  15. Bezier Basis Functions Cubic Bezier basis functions

  16. Catmull-Rom Spline Constraints Resulting equations:

  17. Catmull-Rom Basis Functions

  18. Automating Animation

  19. Forward Kinematics Given a set of joint angles, where s the hand? (or foot or head or ) End effector Just apply nested transforms

  20. Forward Kinematics Character is holding something in their right hand, want to shift it to the left hand Forward transform up tree Inverse transform back down Think of matrices as Opposite order for OpenGL

  21. Inverse Kinematics Find angles to match end effector position Few joints: system of equations Many joints: optimization Often with constraints (wrist doesn't bend that way) And heuristics Minimal change Load support Physical data

  22. Blending animations Animation overlays Just some joints, e.g. upper body for aiming Common to create animation loops for specific behavior Idle, walk, run, turn left, turn right Need to transition between these Speed up/slow down to match cadence, foot placements Linearly blend bone transforms Some games will cheat e.g. pop or unsynced blend during critical action, good blend on playbeck

  23. Motion Capture (mocap) Track markers on actor Infer transforms Markers are on surface, not on bones Not all markers visible every frame Often significant artistic cleanup

  24. Retargeting Apply animation from one character to another Simple: match skeletons More complex Consider changes in height, strength, weight Adjust speed and motion Most often used for mocap Human actor giant ogre

  25. Physics-based Animation Generally: simulating the laws of physics to predict motion Common applications: Fluids, gas (3D grids or particles) Cloth, hair (jointed mesh, may be coarse & interpolated) Rigid body motion (jointed bodies, rag doll physics) Model change as differential equations Solve numerically in small time steps Often don t run to convergence

  26. Autonomous Entities, Crowds, Groups NPC, enemy characters Usually simple techniques over learning methods Want to tune difficulty, AI should be challenging, but don t want it to beat you Create complex group behavior from simple individual behavior Flocks, crowds Particle systems Leverage techniques from AI & Robotics A* path finding over a navigation mesh (navmesh) State machines, decision trees

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#