introduction to computer graphics animation 1
play

Introduction to Computer Graphics Animation (1) May 18, 2017 - PowerPoint PPT Presentation

Introduction to Computer Graphics Animation (1) May 18, 2017 Kenshi Takayama Skeleton-based animation Simple Intuitive Low comp. cost https://www.youtube.com/watch?v=DsoNab58QVA 2 Representing a pose using skeleton Tree


  1. Introduction to Computer Graphics – Animation (1) – May 18, 2017 Kenshi Takayama

  2. Skeleton-based animation • Simple • Intuitive • Low comp. cost https://www.youtube.com/watch?v=DsoNab58QVA 2

  3. Representing a pose using skeleton • Tree structure consisting of bones & joints • Each bone holds relative rotation angle w.r.t. parent joint • Whole body pose determined by the set of joint angles ( F orward K inematics) • Deeply related to robotics 3

  4. I nverse K inematics • Find joint angles s.t. an end effector comes at a given goal position • Typical workflow: • Quickly create pose using IK, fine adjustment using FK https://www.youtube.com/watch?v=e1qnZ9rV_kw 4

  5. Simple method to solve IK: Cyclic Coordinate Descent • Change joint angles one by one • S.t. the end effector comes as close as possible to the goal position • Ordering is important! Leaf  root • Easy to implement  Basic assignment • More advanced • Jacobi method (directional constraint) • Minimizing elastic energy [Jacobson 12] 5 http://mukai-lab.org/wp-content/uploads/2014/04/CcdParticleInverseKinematics.pdf

  6. IK minimizing elastic energy https://www.youtube.com/watch?v=PRcXy2LjI9I 6 Fast Automatic Skinning Transformations [Jacobson SIGGRAPH12]

  7. Ways to obtain/measure motion data 7

  8. Optical motion capture • Put markers on the actor, record video from many viewpoints (~48) from Wikipedia https://www.youtube.com/watch?v=c6X64LhcUyQ 8

  9. Mocap using inexpensive depth camera https://www.youtube.com/watch?v=qC-fdgPJhQ8 9

  10. Mocap designed for outdoor scene https://www.youtube.com/watch?v=xbI-NWMfGPs 10 Motion Capture from Body-Mounted Cameras [Shiratori SIGGRAPH11]

  11. Motion database • http://mocap.cs.cmu.edu/ • 6 categories, 2605 in total • Free for research purposes • Interpolation, recombination, analysis, search, etc. 11

  12. Recombining motions • Allow transition from one motion to another if poses are similar in certain frame frame frame Pose similarity matrix Motion Graphs [Kovar SIGGRAPH02] Motion Patches: Building Blocks for Virtual Environments Annotated with Motion Data [Lee SIGGRAPH06] http://www.tcs.tifr.res.in/~workshop/thapar_igga/motiongraphs.pdf 12

  13. Generating motion through simulation • For creatures unsuitable for mocap • Too dangerous, nonexistent, ... • Natural motion respecting body shape • Can interact with dynamic environment https://www.youtube.com/watch?v=KF_a1c7zytw 13 Generalizing Locomotion Style to New Animals With Inverse Optimal Regression [Wampler SIGGRAPH14]

  14. Creating poses using special devices https://www.youtube.com/watch?v=vBX47JamMN0 Tangible and Modular Input Device for Character Articulation [Jacobson SIGGRAPH14] 14 Rig Animation with a Tangible and Modular Input Device [Glauser SIGGRAPH16]

  15. Many topics about character motion Interaction between Grasping motion multiple persons https://www.youtube.com/ https://www.youtube.com/ watch?v=x8c27XYTLTo watch?v=1S_6wSKI_nU Crowd simulation Path planning https://www.youtube.com/ https://vimeo.com/33409868 watch?v=pqBSNAOsMDc Character motion synthesis by topology coordinates [Ho EG09] Aggregate Dynamics for Dense Crowd Simulation [Narain SIGGRAPHAsia09] Synthesis of Detailed Hand Manipulations Using Contact Sampling [Ye SIGGRAPH12] 15 Space-Time Planning with Parameterized Locomotion Controllers.[Levine TOG11]

  16. Skinning 16

  17. 17

  18. 18

  19. 19

  20. 20

  21. ′ = blend 𝐰 𝑗 𝑥 𝑗,1 , 𝐔 1 , 𝑥 𝑗,2 , 𝐔 2 , … 𝐰 𝑗 • Input • Vertex positions 𝐰 𝑗 𝑗 = 1, … , 𝑜 • Transformation per bone 𝐔 𝑘 = 1, … , 𝑛 𝑘 • Weight from each bone to each vertex 𝑥 𝑗,𝑘 𝑗 = 1, … , 𝑜 𝑘 = 1, … , 𝑛 • Output • Vertex positions after deformation 𝐰 𝑗 ′ 𝑗 = 1, … , 𝑜 • Main focus • How to define weights 𝑥 𝑗,𝑘 • How to blend transformations 21

  22. Simple way to define weights: painting https://www.youtube.com/watch?v=TACB6bX8SN0 22

  23. Automatic weight computation • Define weight 𝑥 𝑘 as a smooth scalar field that takes 1 on the j-th bone and 0 on the other bones 2 𝑒𝐵 • Minimize 1 st -order derivative [Baran 07] 𝛼𝑥 𝑘 Ω • Approximate solution only on surface  easy & fast 2 𝑒𝐵 [Jacobson 11] • Minimize 2 nd -order derivative Ω Δ𝑥 𝑘 • Introduce inequality constraints 0 ≤ 𝑥 𝑘 ≤ 1 • Quadratic Programming over the volume  high-quality Pinocchio demo Automatic rigging and animation of 3d characters [Baran SIGGRAPH07] 23 Bounded Biharmonic Weights for Real-Time Deformation [Jacobson SIGGRAPH11]

  24. Simple way to blend transformations: L inear B lend S kinning • Represent rigid transformation 𝐔 𝑘 as a 3 × 4 matrix consisting of rotation matrix 𝐒 𝑘 ∈ ℝ 3×3 and translation vector 𝐮 𝑘 ∈ ℝ 3 𝐰 𝑗 ′ = 𝐰 𝑗 𝑥 𝑗,𝑘 𝐒 𝑘 𝐮 𝑘 1 𝑘 • Simple and fast • Implemented using vertex shader: send 𝐰 𝑗 & 𝑥 𝑗,𝑘 to GPU at initialization, send 𝐔 𝑘 to GPU at each frame • Standard method 24

  25. Artifact of LBS: ”candy w rapper” effect Twist one bone Initial shape & two bones Deformation using LBS • Linear combination of rigid transformation is not a rigid transformation! • Points around joint concentrate when twisted 25

  26. Alternative to LBS: D ual Q uaternion S kinning Initial shape & two bones Deformation using LBS Deformation using DQS • Idea • Quaternion (four numbers)  3D rotation • Dual quaternion (two quaternions)  3D rigid motion (rotation + translation) 26

  27. Dual number & dual quaternion • Dual number • Introduce dual unit 𝜁 & its arithmetic rule 𝜁 2 = 0 (cf. imaginary unit 𝑗 ) • Dual number is sum of primal & dual components: 𝑏 ≔ 𝑏 0 + 𝜁𝑏 𝜁 • Dual conjugate: 𝑏 0 , 𝑏 𝜁 ∈ ℝ 𝑏 = 𝑏 0 + 𝜁𝑏 𝜁 = 𝑏 0 − 𝜁𝑏 𝜁 • Dual quaternion • Quaternion whose elements are dual numbers • Can be written using two quaternions 𝐫 ≔ 𝐫 0 + 𝜁𝐫 𝜁 • Dual conjugate: 𝐫 = 𝐫 0 + 𝜁𝐫 𝜁 = 𝐫 0 − 𝜁𝐫 𝜁 𝐫 ∗ = 𝐫 0 + 𝜁𝐫 𝜁 ∗ = 𝐫 0 ∗ + 𝜁𝐫 𝜁 • Quaternion conjugate: ∗ 27 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

  28. Arithmetic rules for dual number/quaternion • For dual number 𝑏 = 𝑏 0 + 𝜁𝑏 𝜁 : 1 1 𝑏 𝜁 • Reciprocal 𝑏 = 𝑏 0 − 𝜁 Easily derived by combining usual 2 𝑏 0 arithmetic rules with new rule 𝜁 2 = 0 𝑏 𝜁 • Square root 𝑏 = 𝑏 0 + 𝜁 2 𝑏 0 • Trigonometric sin 𝑏 = sin 𝑏 0 + 𝜁𝑏 𝜁 cos 𝑏 0 From Taylor expansion cos 𝑏 = cos 𝑏 0 − 𝜁𝑏 𝜁 sin 𝑏 0 • For dual quaternion 𝐫 = 𝐫 0 + 𝜁𝐫 𝜁 : Dot product as 4D vectors 𝐫 0 ,𝐫 𝜁 • Norm 𝐫 ∗ 𝐫 = 𝐫 = 𝐫 0 + 𝜁 𝐫 0 𝐫 ∗ 𝐫 −1 = • Inverse 𝐫 2 • Unit dual quaternion satisfies 𝐫 = 1 = 1 & 𝐫 0 , 𝐫 𝜁 = 0 • ⟺ 𝐫 0 28 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

  29. Rigid transformation using dual quaternion • Unit dual quaternion representing rigid motion of translation 𝐮 = 𝑢 𝑦 , 𝑢 𝑧 , 𝑢 𝑨 and rotation 𝐫 0 (unit quaternion) : 𝐫 = 𝐫 0 + 𝜁 Note: 3D vector is considered as 2 𝐮𝐫 0 quaternion with zero real part • Rigid transformation of 3D position 𝐰 = 𝑤 𝑦 , 𝑤 𝑧 , 𝑤 𝑨 using unit dual quaternion 𝐫 : 𝐫 ∗ = 1 + 𝜁𝐰 ′ 𝐫 1 + 𝜁𝐰 • 𝐰 ′ : 3D position after transformation 29 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

  30. Rigid transformation using dual quaternion 𝜁 • 2 𝐫 = 𝐫 0 + 𝐮𝐫 0 ∗ 𝜁 ∗ + 𝜁 ∗ 𝐫 ∗ = 𝐫 0 + ∗ ∗ 0 + • 2 0 + 𝐫 1 + 𝜁𝐰 𝐮𝐫 0 1 + 𝜁𝐰 𝐫 0 2 𝐫 0 𝐮 𝐮 𝐫 0 = 𝐫 0 𝐮 ∗ = −𝐫 0 𝐮 𝜁 ∗ + 𝜁𝐰𝐫 0 ∗ + 𝜁 ∗ 2 = 𝐫 0 + 𝐮𝐫 0 𝐫 0 2 𝐫 0 𝐮 ∗ + 𝜁 ∗ + 𝜁𝐫 0 𝐰𝐫 0 ∗ + 𝜁 ∗ 2 = 𝐫 0 𝐫 0 𝐮𝐫 0 𝐫 0 2 𝐫 0 𝐫 0 𝐮 𝐫 0 2 = 1 ∗ = 1 + 𝜁 𝐮 + 𝐫 0 𝐰𝐫 0 3D position 𝐰 rotated by quaternion 𝐫 0 30 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

  31. Rigid transformation as “screw motion” Conventional notion: rotation + translation Screw motion Axis direction • Any rigid motion is uniquely described as screw motion • (Up to antipodality) 31 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

  32. Screw motion & dual quaternion • Unit dual quaternion 𝐫 can be written as: 𝜄 𝜄 𝐫 = cos 2 + 𝐭 sin 2 • 𝜄 0 , 𝜄 𝜁 : real number 𝜄 = 𝜄 0 + 𝜁𝜄 𝜁 • 𝐭 0 , 𝐭 𝜁 : unit 3D vector 𝐭 = 𝐭 0 + 𝜁𝐭 𝜁 • Geometric meaning • 𝐭 0 : direction of rotation axis • 𝜄 0 : amount of rotation • 𝜄 𝜁 : amount of translation parallel to 𝐭 0 • 𝐭 𝜁 : when rotation axis passes through 𝐬 , it satisfies 𝐭 𝜁 = 𝐬 × 𝐭 0 32 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08]

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