animations dynamics 08
play

Animations, Dynamics (08) RNDr. Martin Madaras, PhD. - PowerPoint PPT Presentation

Principles of Computer Graphics and Image Processing Animations, Dynamics (08) RNDr. Martin Madaras, PhD. martin.madaras@stuba.sk Outline Principles of animation Keyframe animation Articulated figures Kinematics Dynamics 2


  1. Principles of Computer Graphics and Image Processing Animations, Dynamics (08) RNDr. Martin Madaras, PhD. martin.madaras@stuba.sk

  2. Outline  Principles of animation  Keyframe animation  Articulated figures  Kinematics  Dynamics 2

  3. How the lectures should look like #1 Ask questions, please!!! - Be communicative - www.slido.com #PPGSO08 - More active you are, the better for you! - 3

  4. Manual animation  Stop-motion animation  e.g. Coraline, Wallace & Gromit, etc. 4

  5. Computer Animation  What is animation?  Make objects change over time according to scripted actions  What is simulation?  Predict how object change over time according to physical laws 5

  6. Computer Animation  Animation pipeline  3D Modeling  Articulation  Motion specification  Motion simulation  Shading  Lighting  Rendering  Postprocessing 6

  7. Keyframe Animation  Define character poses at specific time steps called “keyframes” 7

  8. Inbetweening (“ tweening ”)  Computing missing values based on existing surrounding values 45 0 8

  9. Inbetweening (“ tweening ”)  Linear (constant)  Ease-in, ease-out 9

  10. Keyframe Animation  Inbetweening:  Linear interpolation – usually not enough continuity 10

  11. Spline Continuity  How to ensure curves are “smooth”  Generally we have three levels of continuity  C0 - The curves meet  C0 & C1 - The tangents are shared  C0 & C1 & C2 - The “speed” is the same 11

  12. C0 Continuity  Zero order parametric continuity 12

  13. C0 & C1 Continuity  First order parametric continuity 13

  14. C0 & C1 & C2 Continuity  Second order parametric continuity 14

  15. Implications for animation  Linear interpolation is only C0  Movement changes instantly at keyframes  Very unnatural looking  We need at least C0 & C1 continuity  Hermite interpolation  Spline interpolation  “Smoothstep” function 15

  16. Smoothstep 16

  17. Smoothstep float smootherstep(float edge0, float edge1, float x) { // Scale, and clamp x to 0..1 range x = clamp((x - edge0)/(edge1 - edge0), 0.0, 1.0); // Evaluate polynomial return x*x*x*(x*(x*6 - 15) + 10); } 17

  18. Keyframe Animation  Inbetweening:  Spline interpolation – may be visually good enough  May not follow physical laws 18

  19. Keyframe Animation  Inbetweening:  Inverse kinematics or dynamics 19

  20. Outline  Principles of animation  Keyframe animation  Articulated figures  Animation Hierarchies  Scene Graph  Kinematics  Dynamics 20

  21. Articulated Figures  Character poses described by set of rigid bodies connected by “joints” 21

  22. Articulated Figures  Well suited for humanoid characters 22

  23. Keyframe Animation  Inbetweening:  Compute angles between keyframes 23

  24. Example: Walk Cycle  Inbetweening:  Compute angles between keyframes 24

  25. Example: Walk Cycle  Hip joint orientation 25

  26. Example: Walk Cycle  Knee joint orientation 26

  27. Example: Walk Cycle  Ankle joint orientation 27

  28. Animation Hierarchies  Animate objects in relation to their parent  Sun matrix is Ms  Earth matrix is MsMe  Moon matrix is MsMeMm 28

  29. Kinematics and Dynamics  Kinematics  Considers only motion  Determined by positions, velocities, accelerations  Dynamics  Considers underlaying forces  Capture motion from initial positions and physics 29

  30. Example: 2-Link Structure  Two links connected by rotational joints 30

  31. Forward Kinematics  Animators specifies angles Θ 1 and Θ 2  Computer finds position of end effector: X 31

  32. Forward Kinematics  Joint motion can be specified by spline curves Joint motion can be specified by spline curves 32

  33. Forward Kinematics  Joint motions can be specified by initial conditions Joint motion can be specified by spline curves 33

  34. Example: 2-Link Structure  What if animator knows position of “end effector” 34

  35. Inverse Kinematics  Animator specifies end effector positions: X  Computer finds joint angles Θ 1 and Θ 2 35

  36. Inverse Kinematics  End-effector positions can be specified by splines 36

  37. Inverse Kinematics  Problem with more complex structures  System with equation is usually under-defined  Multiple solutions 37

  38. Inverse Kinematics  Solution for more complex structures  Find best solution (eg. minimize energy in motion)  Non-linear optimization 38

  39. Inverse Kinematics  Forward Kinematics  Specify conditions (joint angles)  Compute conditions of end effectors  Inverse Kinematics  “Goal - directed” motion  Specify goal positions of end effectors  Compute conditions required to achieve goal 39

  40. Quaternions for Rotations 40

  41. Quaternions for Rotations // RotationAngle is in radians  x = RotationAxis.x * sin(RotationAngle / 2)  y = RotationAxis.y * sin(RotationAngle / 2)  z = RotationAxis.z * sin(RotationAngle / 2)  w = cos(RotationAngle / 2)   glm::quat  Interpolation using SLERP quat result = glm :: gtc :: quaternion :: mix(q1, q2, mixFactor);   Casting back to matrix glm::mat4 rotate = glm::mat4_cast(q_quat);  41

  42. Character Animation (Linear Blend Skinning) (Skeletal Animation) 42

  43. Skeletal Animation  Hierarchical graph structure called Skeleton  Nodes and edges (bones) 43

  44. Skeletal Animation  Graph structure can be disconnected in space 44

  45. Real-time skeletal skinning https://www.youtube.com/watch?v=DfIfcQiC2oA 45

  46. Facial animation  Facial expressions  Lips to speech synchronization  Controllers  Skinning  Morphing http://www.anzovin.com/products/tfm1maya.html 46

  47. Reusable animation  One skeleton – different models http://www.studiopendulum.com/alterego/ 47

  48. Motion capture  Markers on actor’s body  Optical / magnetic sensors  3D reconstruction of markers’ position  Motion mapping to virtual character 48

  49. Outline  Principles of animation  Keyframe animation  Articulated figures  Animation Hierarchies  Kinematics  Dynamics 49

  50. Procedural animation  Programmed rules for changing parameters of the animated objects  E.g. according to music, physics, psychology 50

  51. Dynamics  Dynamics  Considers underlaying forces  Capture motion from initial positions and physics  Simulation of Physics insures realism of motion 51

  52. Physically based animation  Rigid bodies  No geometry deformation  Collision response  Soft bodies  Allow for deformation  Energy damping 52

  53. Animation construction  Set body properties  Mass, elasticity, friction, …  Set physical rules  Gravity, collisions, wind, …  Set initial state  Position, velocity, direction, …  Set constraints  Run simulation / animation 53

  54. Spacetime constraints  Animator specifies constraints:  What the character’s physical structure is  e.g. articulated figure  What the character has to do  e.g. jump from here to there in time t  What other physical structures are present  e.g. floor to push off and land  How the motion should be performed  e.g. minimize energy 54

  55. Spacetime constraints  Computer finds the “best” physical motion satisfying constraints  Example: Simulate objects using 2nd Newtons law  F = ma  Ordinary differential equation (ODE)  Numerically solved using Euler’s method  Use discrete time steps 55

  56. Euler Integration  Euler Integration Object::Update(float dt){ /* Constant acceleration: gravity */ a = vec3(0, 0, -9.81); /* New, velocity */ v = v + a * dt; /* New, position */ p = p + v * dt; } 56

  57. Euler Integration  External forces can influence motion Object::Update(float dt) { /* Use mass and external forces */ float m = this->Mass(); F = sumExternalForces(this); /* Compute acceleration */ a = F/m; /* New, velocity */ v = v + a * dt; /* New, position */ p = p + v * dt; } 57

  58. Gravity simulation https://www.youtube.com/watch?v=ztwkXq4Hj7Q 58

  59. N-body simulation https://www.youtube.com/watch?v=ua7YlN4eL_w 59

  60. Fluid simulation https://www.youtube.com/watch?v=r17UOMZJbGs 60

  61. Smoke and Dust https://www.youtube.com/watch?v=RuZQpWo9Qhs 61

  62. Rigid-Body Dynamics  Assume objects are rigid  Preserve and calculate angular momentum  Calculate collisions based on geometry  Define center of mass 62

  63. Rigid-Body Dynamics https://www.youtube.com/watch?v=dvXBstJah5s 63

  64. Soft-Body Dynamics  Model objects using linked particles  Usually using spring/mass models  Polygon edges can represent springs  Vertices are simulated using particles with mass 64

  65. Cloth simulation https://www.youtube.com/watch?v=M2XuQSZ-8h4 65

  66. Soft-Body simulation https://www.youtube.com/watch?v=KppTmsNFneg 66

  67. AI controlled https://www.youtube.com/watch?v=IQEx56O73b8 67

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend