Presentation is loading. Please wait.

Presentation is loading. Please wait.

Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall 20122.

Similar presentations


Presentation on theme: "Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall 20122."— Presentation transcript:

1 Character Animation

2 Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall 20122

3 Keyframe & Inbetweening

4 Keyframe Interpolation 1 Periodic motion, with n keys, period T – Each key contains the pose-defining parameters At time t, subtract integer multiples of T (so that 0  t* < T) Use t* to determine the interpolating keys – the max i with t(i) < t* Linearly interpolate key(i) and key(i+1) Key1 t1 Key2 t2 Keyn tn Key3 t3 … T

5 Keyframe Interpolation 2 Key1 t1 Key(i) t(i) Keyn tn Key(i+1) t(i+1) … T …

6 Quake II (雷神之錘 II ) First-person shooter game by id software in 1997 Md2: the model format used by Quake II Model archive: http://planetquake.gamespy.com/quake2/ Fall 20126

7 Better than linear interpolation Fall 20127

8 MOCAP Motion Capture – File format: ASF/AMC – Database, mixamo Databasemixamo – Sample program Sample program Fall 20128

9 9

10 ASF/AMC (ref)ref ASF (Acclaim Skeleton File) AMC (Acclaim Motion Capture data) :root :bonedata :hierarchy Fall 201210

11 Root "axis" keyword in the root section defines the rotation order of the root object. "order" keyword specifies the channels of motion that are applied to the root and in what order they will appear in the AMC file. "position" and "orientation" keywords are each followed by a triplet of numbers indicating the starting position and orientation of the root. These are typically, but not always, zero. Fall 201211

12 Bonedata (ref)ref "id" unique id for the segment "name" alphabetic identifier for bone. "direction" the direction of the segment in (world coordinate system) "length" The length of the segment. "axis" an axis of rotation for the segment. The axis line indicates the initial orientation of a bone’s axes relative to fixed, global axes "dof" The dof line tokens determine: – what degrees-of-freedom exist between a bone and its parent – the order in which these degrees-of-freedom are written in the AMC file – the sequence in which rotations are applied to the bone "limits" For each channel that appears there will be a pair of numbers inside parenthesis indicating the minimum and maximum allowed value for that channel Fall 201212

13 Example Fall 201213

14 In-Depth Bonedata Fall 201214

15 lfemur Fall 201215

16 lfoot Fall 201216

17 Fall 201217 From Lee and Koh (1995) Euler angles in ASF In v’=Mv convention Fall 201217

18 Transformation Code Fall 201218

19 Skinning References: Rotenburg(UCSD)Rotenburg(UCSD), Frost (UCI), codeFrost (UCI)code

20 Skinning Introduction 3D character models play an important role in gaming Organic models are more complex to render than rigid models – Organic: humans, animals, etc. – Rigid: building, rock, etc. – The mesh that defines the shape of the model constantly changes as the models animate Fall 201220

21 Skinning Introduction (cont) The animating mesh is referred to as a “skin” Skinning is the process of animating the mesh Skinning has been traditionally done on the CPU As 3D character models complexity increases, skinning is done on the video cards using vertex shaders Fall 201221

22 Methods to Animate Skinned Characters Keyframe animation (as in MD2) – Save characters in “keyframes” and blend – Suitable for low polygon models – On high-detail models, it can be memory intensive Matrix palette skinning – Weighting individual points to the bones – Just the skeletal animation needs to be saved (rather than the whole models in keyframes) Not mutually exclusive – Face/hand for keyframes; matrix palette for the rest Fall 201222

23 Vertex Blending Also known as: – Matrix palette, skeleton-subspace deformation Fall 201223

24 How Bones are Created Obtain the skin model Duplicate the skin Scale down fractionally Cut the smaller skin into smaller body parts which are used as bones Fall 201224

25 Skinning Simple Skin every vertex of the continuous skin mesh is attached to a joint. every vertex is transformed exactly once. Smooth Skin a vertex can be attached to more than one joint with adjustable weights that control how much each joint affects it Vertices rarely need to be attached to more than three joints Each vertex is transformed a few times and the results are blended Fall 201225

26 Smooth Skin – Binding Matrix we use a binding matrix B for each joint that defines where the joint was when the skin was attached and premultiply its inverse with the world matrix: Fall 201226

27 1.0/0.0 0.0/1.00.5/0.5 0.7/0.3 Fall 201227

28 To compute shading, we need to transform the normals to world space also If the matrices have non-rigid transformations, then technically, we should use: Fall 201228

29 Limitation Smooth skin is very simple and quite fast, but its quality is limited – Joints tend to collapse as they bend more – Very difficult to get specific control – Unintuitive and difficult to edit Still, it is common in games and commercial animation! Fall 201229

30 Fall 201230

31 Other Topics Rigging, retargeting, gait analysis, ragdoll physics

32 What is rigging (ref)ref A character rig is essentially a digital skeleton bound to the 3D mesh. Like a real skeleton, a rig is made up of joints and bones, each of which act as a "handle" that animators can use to bend the character into a desired pose. Fall 201232

33 Automatic Rigging (Baran & Popovic, 2007)Baran & Popovic, 2007 Fall 201233

34 Automatic Rigging (cont) Fall 201234

35 Retargeting Animation from Rig to Rig (ref)ref When you retarget animation between rigs, the retargeting operator figures out which rig elements match based on their tags. Then it maps and generates the animation that is transferred to the target rig. Online motion retargeting 19991999 Youtube (havok) Youtube Fall 201235

36 Mixamo Auto-Rigger (youtube)youtube Fall 201236

37 Gait Gait is the pattern of movement of the limbs of animals, including humans, during locomotion over a solid substrate. Most animals use a variety of gaits, selecting gait based on speed, terrain, the need to maneuver, and energetic efficiency. Different animal species may use different gaits due to differences in anatomy that prevent use of certain gaits, or simply due to evolved innate preferences as a result of habitat differences. Fall 201237

38 Ragdoll physics Verlet integration IK postprocessing Fall 201238


Download ppt "Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall 20122."

Similar presentations


Ads by Google