Your SlideShare is downloading. ×
0
Modelling & Animation          of 3D Game Characters       Edmond Prakash  Edmond.Prakash@beds.ac.uk                      ...
1           Skin02/18/13          2   2
Questions•   Where are 3D characters used?•   How is a 3D character modelled?•   How is a 3D character animated?•   What a...
Overview• Character: A Hierarchical Structure• Modeling Characters for Animation  – Deformable Mesh  – Bones  – Constraint...
Some characters                  5
Some characters                  6
Some characters                  7
A Hierarchical Structure                           8
Overview• Character: A Hierarchical Structure• Modeling Characters for Animation  – Deformable Mesh  – Bones  – Constraint...
Question• Which approach is better?  – Morphing Skin (deformable mesh with no    bones)  – Deformation with bones         ...
Vertex Interpolation To animate the characters, a single base model is transformed at the vertex level to create animation...
Free form deformation of skin • Arm movement • Transform bounding grid • Free form deformation for skin                   ...
Overview• Character: A Hierarchical Structure• Modeling Characters for Animation  – Deformable Mesh  – Skin and Bones  – C...
Skeletal Deformation Techniques• Skinned characters are  rapidly becoming the norm  in 3D real-time character  animation.•...
Reference & AnimatedReference and animated positions, show as(a) bones and cross-sections(b) Skin represented as a rendere...
Bones – New PostureEach vertex, V, in the objectmodel is transformed by thebone matrix, Mb           vertexCntVFinal =    ...
Codeprocedure EvaluateBone(var b: TBone);var i: Integer;begin   ApplyTransformation(b);   with b do   begin          for i...
Vertex Blending   Vertex Blending (a) before rotation   (b) without blending (c) with blending                            ...
Why does skin collapse happen?                                 19
FencingFencing AnnimationReal-life posture: a) vertexblending,                      20
Elbow 180                                               Effect of twisting child                                          ...
Vertex with BlendingFor a skin vertex attached to two bones:           vertexCntVFinal =     ∑[W             n =0         ...
a) Bending Elbows (right side uses Bone Links)b) Twisting Elbows (right side uses Bone Links)                             ...
ShoulderNormal-Derived Influence Fade (a) without and (b) with                                                         24
(a) Estimated Cross-Sections connected with cylinders(b) Original exported model authored using ellipsoidal regions(c) Sam...
Overview• Character Design and Concepts• Modeling Characters for Animation  – Deformable Mesh  – Bones  – Constraints     ...
Bone Animation Enhancements• The most obvious enhancements is to add  constraints to each bone: minimal and maximal  rotat...
ConstraintsArc Representation of Constraints   Joint constraints limit arm movement                                       ...
SummaryWhen In Doubt…Act it out!!!!  Acting out an action gives a clearer  understanding of…  – Movement  – Positioning  –...
Question• Which approach is better?  – Morphing Skin (deformable mesh with no    bones)  – Deformation with bonesBoth grou...
Coming back to our    Questions•   Where are 3D characters used?•   How is a 3D character modelled?•   How is a 3D charact...
2           Walk02/18/13          32   32
How would youanimate the human walk?                          33
DegreesofFreedomDOFs          34
Main Problems The main problems encountered while designing a walking model depend on the kind of application, but include...
Gaits• A gait refers to a particular sequence of lifting and  placing the feet during legged locomotion (gallop, trot,  wa...
left leg                            Walk Cycleright leg       left heel strike                         right heel strike  ...
Run Cycle    left heel strike                             right heel strike                              left heel strike ...
Automated Walking- How to write a Program?                            39
Three Approaches1. Procedural methods based on posture based   kinematic animation.2. The attempts to incorporate dynamic ...
Forward Kinematics (FK)vsInverse Kinematics (IK)•   Input angles (posture)   •   Input position P•   Compute position P   ...
Flexing Knee (Lift Foot)                           42
Flexing Knee (Sit)                     43
DesigningA Controller• Controlled by high level parameters such as step length  and step frequency.• Several states which ...
Dynamics• In many cases, accounting for dynamics is  essential to ensure that the motion is realistic:   – if the syntheti...
Animation Based onMotion Data• Photographs                     46
Uses Only 2 Photographs                          47
Walk++• Walk Cycle• Posture During Walk  – Hip Movement  – Shoulder Movement  – Head Movement  – Hand Movement• Posture Du...
Variations of Walk•   Normal Cyclic Walk•   Brisk Walk•   Running•   Walk Behaviour (Subtle Variations)    – Male vs Femal...
http://www.biomotionlab.ca/Demos/BMLwalker.html                     Walk Demo Links!Try This Walk!                        ...
3Arm Reach02/18/13       51   51
Arm Reach Posture  • Tasks     – Lifting a telephone     – Opening a door     – Lifting a coffee mug     – Opening a bottl...
Model of the Human Arm               Shoulder               (3 DOFs)      Elbow     (1 DOF)                     Wrist     ...
Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification      ...
Arm Reach - Kinematics                •   The shoulder and elbow joints are                    represented by S and E.    ...
Algorithm forprediction ofarm reachposture                56
Examples• Different arm postures                           57
Examples• Touching the  nose                 58
Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification     S...
Joint Limits•   Boundary domain for an assembly of 3 independent successive    1-DOF rotational joints                    ...
Globe/Spherical Polygon•   Globe representation of the right shoulder    joint sinus and of the upper arm axial motion    ...
Implementation of GIK               • Comparison between                 two animation                 sequence without an...
Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification      ...
Arm Movement: Path, IK, Collision                                64
Arm Movement: Path, IK, Collision                                    65
Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification      ...
Multi-Arm Animation• Multi-Arm Manipulation Problem   – Must find a path for the arms to hold and then     carry some spec...
Two Arms to Open A Bottle• The position of the  wrist and the task are  specified for both  arms.• The posture for both  a...
Two Arms toReachSpectacles• Koga et. al.  Siggraph 1994                  69
Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification      ...
DistantReach         71
Summary of Arm Animation• Arms have multiple DOF• Posture specified by animator (angles or end  effector positions)• IK fo...
Additional Reading• Gems I  – Interpolated 3D Keyframe Animation, pp 465-    470  – Simple Skinning, pp. 471-475  – Advanc...
References •   Xuguang Wang and Jean Pierre Verriest, A geometric algorithm     to predict the arm reach posture for compu...
Bibliography• M. Girard, A. Maciejewski, “Computational Modeling for  the Computer Animation of Legged Figures”,  SIGGRAPH...
Upcoming SlideShare
Loading in...5
×

Game character modelling_and_animation

853

Published on

charater skin

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
853
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Dear Students, Friends and Colleagues, I am Edmond Prakash from the School of Computer Engineering at NTU.
  • Transcript of "Game character modelling_and_animation"

    1. 1. Modelling & Animation of 3D Game Characters Edmond Prakash Edmond.Prakash@beds.ac.uk 1
    2. 2. 1 Skin02/18/13 2 2
    3. 3. Questions• Where are 3D characters used?• How is a 3D character modelled?• How is a 3D character animated?• What are the modelling & animation concepts?• What are the difficulties?• What are the techniques?• If you are asked to design a tool for character modelling and animation, what type of support will you provide for (a) the modeller, (b) an animator?Today we will find some answers for these questions! 3
    4. 4. Overview• Character: A Hierarchical Structure• Modeling Characters for Animation – Deformable Mesh – Bones – Constraints 4
    5. 5. Some characters 5
    6. 6. Some characters 6
    7. 7. Some characters 7
    8. 8. A Hierarchical Structure 8
    9. 9. Overview• Character: A Hierarchical Structure• Modeling Characters for Animation – Deformable Mesh – Bones – Constraints 9
    10. 10. Question• Which approach is better? – Morphing Skin (deformable mesh with no bones) – Deformation with bones 10
    11. 11. Vertex Interpolation To animate the characters, a single base model is transformed at the vertex level to create animation (used in Quake). 11
    12. 12. Free form deformation of skin • Arm movement • Transform bounding grid • Free form deformation for skin 12
    13. 13. Overview• Character: A Hierarchical Structure• Modeling Characters for Animation – Deformable Mesh – Skin and Bones – Constraints 13
    14. 14. Skeletal Deformation Techniques• Skinned characters are rapidly becoming the norm in 3D real-time character animation.• A character created from a single skin eliminates the seams at each joint. 14
    15. 15. Reference & AnimatedReference and animated positions, show as(a) bones and cross-sections(b) Skin represented as a rendered surface 15
    16. 16. Bones – New PostureEach vertex, V, in the objectmodel is transformed by thebone matrix, Mb vertexCntVFinal = ∑M V n =0 b n 16
    17. 17. Codeprocedure EvaluateBone(var b: TBone);var i: Integer;begin ApplyTransformation(b); with b do begin for i := 0 to High(Children) do begin ApplyParentTransformation(Children[i]); EvaluateBone(Children[i]); end; end;end; 17
    18. 18. Vertex Blending Vertex Blending (a) before rotation (b) without blending (c) with blending 18
    19. 19. Why does skin collapse happen? 19
    20. 20. FencingFencing AnnimationReal-life posture: a) vertexblending, 20
    21. 21. Elbow 180 Effect of twisting child bone 180 degrees choice of tmin and tmaxElbow twisted 180°: a) vertex blending, parameters inb) bones blending applied to original mesh, the reference posturec) bones blending applied to subdivided mesh 21
    22. 22. Vertex with BlendingFor a skin vertex attached to two bones: vertexCntVFinal = ∑[W n =0 n * M bone1Vn + (1 −Wn ) * M bone 2Vn ] Wn determines the linear blend between the two bone matrices. 22
    23. 23. a) Bending Elbows (right side uses Bone Links)b) Twisting Elbows (right side uses Bone Links) 23
    24. 24. ShoulderNormal-Derived Influence Fade (a) without and (b) with 24
    25. 25. (a) Estimated Cross-Sections connected with cylinders(b) Original exported model authored using ellipsoidal regions(c) Same model using Weight Regeneration, Proportional Auto-Smoothing, andBone Links 25
    26. 26. Overview• Character Design and Concepts• Modeling Characters for Animation – Deformable Mesh – Bones – Constraints 26
    27. 27. Bone Animation Enhancements• The most obvious enhancements is to add constraints to each bone: minimal and maximal rotation angles that ensure that unrealistic or physically impossible movements can not be executed.• You could also attach external objects to a bone, so you could put any weapon in the characters hand, for example. 27
    28. 28. ConstraintsArc Representation of Constraints Joint constraints limit arm movement 28
    29. 29. SummaryWhen In Doubt…Act it out!!!! Acting out an action gives a clearer understanding of… – Movement – Positioning – Timing – Attitude 29
    30. 30. Question• Which approach is better? – Morphing Skin (deformable mesh with no bones) – Deformation with bonesBoth groups are pushing hard! 30
    31. 31. Coming back to our Questions• Where are 3D characters used?• How is a 3D character modelled?• How is a 3D character animated?• What are the modelling & animation concepts?• What are the difficulties?• What are the techniques?• If you are asked to design a tool for character modelling and animation, what type of support will you provide for (a) the modeller, (b) an animator? 31
    32. 32. 2 Walk02/18/13 32 32
    33. 33. How would youanimate the human walk? 33
    34. 34. DegreesofFreedomDOFs 34
    35. 35. Main Problems The main problems encountered while designing a walking model depend on the kind of application, but include: – ensuring that the motion of the body parts looks realistic; – verifying that the contact between the human-like figure and the environment (especially the terrain) is realistic; – accommodating variable grounds such as slope terrains or stairs; – adapting the motion to the synthetic actor’s anatomy; – personifying the gait, such as making the human-like figure walk as a woman, be less or more tired, etc.; – accounting for changes in the mechanical structure of the walker, which makes it possible to modify the motion when it carries heavy objects or is submitted to the wind; – making the walker react to external events or forces such as pushes or collisions; – making sure that the forces and torques required to execute the computed motion are realistic. 35
    36. 36. Gaits• A gait refers to a particular sequence of lifting and placing the feet during legged locomotion (gallop, trot, walk, run…)• Each repetition of the sequence is called a gait cycle• The time taken in one complete cycle is the gait period• Normally, in one gait cycle, each leg goes through exactly one complete step cycle 36
    37. 37. left leg Walk Cycleright leg left heel strike right heel strike left heel strike right toe off ground left toe off ground double single double single support support support support left stance left swing right stance right swing right stance one cycle (stride) 37
    38. 38. Run Cycle left heel strike right heel strike left heel strike left toe off ground right toe off ground single single support flight support flight left stance left swing right right swing stance right swing one cycle (stride) 38
    39. 39. Automated Walking- How to write a Program? 39
    40. 40. Three Approaches1. Procedural methods based on posture based kinematic animation.2. The attempts to incorporate dynamic constraints in the generation of motion or to use dynamic simulation.3. Approaches enabling the interactive editing of either captured or synthetic walking motions. 40
    41. 41. Forward Kinematics (FK)vsInverse Kinematics (IK)• Input angles (posture) • Input position P• Compute position P • Compute angles (posture) 41
    42. 42. Flexing Knee (Lift Foot) 42
    43. 43. Flexing Knee (Sit) 43
    44. 44. DesigningA Controller• Controlled by high level parameters such as step length and step frequency.• Several states which control the gait of a synthetic skeleton.• A key posture is associated with each state.• These postures are linearly interpolated to produce in- between angular values. 44
    45. 45. Dynamics• In many cases, accounting for dynamics is essential to ensure that the motion is realistic: – if the synthetic actor has to carry loads; – if the human-like figure has to react to external forces such as pushes or the wind; – if the ground is complex, such as stairs or slope terrains; 45
    46. 46. Animation Based onMotion Data• Photographs 46
    47. 47. Uses Only 2 Photographs 47
    48. 48. Walk++• Walk Cycle• Posture During Walk – Hip Movement – Shoulder Movement – Head Movement – Hand Movement• Posture During Turn• Posture on Flat Ground vs Hilly Terrain 48
    49. 49. Variations of Walk• Normal Cyclic Walk• Brisk Walk• Running• Walk Behaviour (Subtle Variations) – Male vs Female – Sad vs Happy – Heavy vs Light – Nervous vs Relaxed 49
    50. 50. http://www.biomotionlab.ca/Demos/BMLwalker.html Walk Demo Links!Try This Walk! 50
    51. 51. 3Arm Reach02/18/13 51 51
    52. 52. Arm Reach Posture • Tasks – Lifting a telephone – Opening a door – Lifting a coffee mug – Opening a bottle • Terminology – Shoulder joint (3-DOF) – Elbow joint (1-DOF) – Wrist (3-DOF) – Sinus Cone / Sphere Polygon 52
    53. 53. Model of the Human Arm Shoulder (3 DOFs) Elbow (1 DOF) Wrist End Effector (3 DOF) (hand and fingers) 53
    54. 54. Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification Sinus Cone vs Spherical Polygon4. Path, Collision, Reach Animation5. Animation of Two Arm Collaboration 54
    55. 55. Arm Reach - Kinematics • The shoulder and elbow joints are represented by S and E. • A reference hand point is designated by W. • The hand velocity ṙ w can be decomposed into two component vectors, one contributed by the shoulder rotation, ṙ ws , and the other by the elbow, ṙ we . • Knowing the elbow rotation flexion– extension axis ae and the hand velocity ṙ w, the motions around the shoulder normal axis asn and the elbow aixs ae are completely specified. 55
    56. 56. Algorithm forprediction ofarm reachposture 56
    57. 57. Examples• Different arm postures 57
    58. 58. Examples• Touching the nose 58
    59. 59. Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification Sinus Cone vs Spherical Polygon4. Path, Collision, Reach Animation5. Animation of Two Arm Collaboration 59
    60. 60. Joint Limits• Boundary domain for an assembly of 3 independent successive 1-DOF rotational joints 60
    61. 61. Globe/Spherical Polygon• Globe representation of the right shoulder joint sinus and of the upper arm axial motion range.• The boundary represents the shoulder sinus cone.• The grey within the cone represents the upper arm axial motion range, which varies from 104° to 160° on average. The darker the grey is, the larger the axial motion range.• The axes X, Y and Z are defined respectively aligned to the medial–lateral (M–L), posterior–anterior (P–A) and inferior–superior (I–S) anatomical directions. 61
    62. 62. Implementation of GIK • Comparison between two animation sequence without and with sinus cone joint violation detection when the right arm moves behind the torso. 62
    63. 63. Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification Sinus Cone vs Spherical Polygon4. Path, Collision, Reach Animation5. Animation of Two Arm Collaboration 63
    64. 64. Arm Movement: Path, IK, Collision 64
    65. 65. Arm Movement: Path, IK, Collision 65
    66. 66. Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification Sinus Cone vs Spherical Polygon4. Path, Collision, Reach Animation5. Animation of Two Arm Collaboration 66
    67. 67. Multi-Arm Animation• Multi-Arm Manipulation Problem – Must find a path for the arms to hold and then carry some specified moveable object from its initial location to its desired goal• Initial and Goal Configurations• Inverse Kinematics of the Arms 67
    68. 68. Two Arms to Open A Bottle• The position of the wrist and the task are specified for both arms.• The posture for both arms are computed in each iteration. 68
    69. 69. Two Arms toReachSpectacles• Koga et. al. Siggraph 1994 69
    70. 70. Overview1. Arm Reach Posture & Terminology2. Geometric Algorithm for Reach3. Shoulder Joint Constraint Specification Sinus Cone vs Spherical Polygon4. Path, Collision, Reach Animation5. Animation of Two Arm Collaboration6. Distant Reach 70
    71. 71. DistantReach 71
    72. 72. Summary of Arm Animation• Arms have multiple DOF• Posture specified by animator (angles or end effector positions)• IK for arm posture• Joint limits for realistic posture• Two hand coordination• Distant Reach 72
    73. 73. Additional Reading• Gems I – Interpolated 3D Keyframe Animation, pp 465- 470 – Simple Skinning, pp. 471-475 – Advanced Animation Using Skinning, pp. 476-483• Gems III: – Improved Deformation of Bones, pp. 384 -393 – Constrained Inverse Kinematics, pp. 192 - 199• Watt, 3D Game Vol. 2., pp. 347-364.• Animation – How we do it? http://www.pixar.com/howwedoit/index.html 73
    74. 74. References • Xuguang Wang and Jean Pierre Verriest, A geometric algorithm to predict the arm reach posture for computer-aided ergonomic evaluation, The Journal of Visualization and Computer Animation, 9:33--47, 1998. • Yoshihito Kogay, Koichi Kondoz, James Kuffnery and Jean- Claude Latombey, Planning Motions with Intentions, SIGGRAPH 1994. • Ying Liu Norman I. Badler, Real-time Reach Planning for Animated Characters Using Hardware Acceleration, CASA 2003. 74
    75. 75. Bibliography• M. Girard, A. Maciejewski, “Computational Modeling for the Computer Animation of Legged Figures”, SIGGRAPH 1985, Vol. 19, No. 3, 263-270, 1985.• A. Bruderlin and T. Calvert, Goal-directed, dynamic animation of human walking, SIGGRAPH 1989, Vol. 23, 3, 233-242, 1989.• F. Multon, L. France, M.P. Cani and G. Debunne, Computer Animation of Human Walking: A Survey, Jl of Visualization and Computer Animation, 10, 39-54, 1999. 75
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×