Data-Driven Animation Full-body animation Skin deformation Facial - - PowerPoint PPT Presentation

data driven animation full body animation skin
SMART_READER_LITE
LIVE PREVIEW

Data-Driven Animation Full-body animation Skin deformation Facial - - PowerPoint PPT Presentation

Data-Driven Animation Full-body animation Skin deformation Facial animation Motion Representation A pose is represented by root translation, root orientation, and joint angles q = ( q 1 , , q n ) Motion consists of a


slide-1
SLIDE 1

Data-Driven Animation

slide-2
SLIDE 2

✦ Full-body animation ✦ Skin deformation ✦ Facial animation

slide-3
SLIDE 3

Motion Representation

✦ A pose is represented by root translation,

root orientation, and joint angles

✦ Motion consists of a sequence of pose

q = (q1, · · · , qn) m = (q1, · · · qT )

slide-4
SLIDE 4

Motion Graphs

✦ Each edge corresponds to a motion clip ✦ Each node corresponds to a choice point connecting motion clips

slide-5
SLIDE 5

Challenges

✦ How to identify transitions? ✦ How to create blends? ✦ How to fix the artifacts due to blending? ✦ What if the graph is poorly connected?

slide-6
SLIDE 6

Similarity

✦ Transition is allowed when two motions are very similar ✦ Naive similarity metric: ✦ Parameters have different overall effects on the character ✦ Velocity: ✦ Global position and orientation:

k(qi qjk2 k ˙ qi ˙ qjk2 (x0, R0)

slide-7
SLIDE 7

Blending

✦ Align two similar

segments in 2D

✦ Linearly interpolate the

root and use SLERP to interpolate joint angles

✦ Blend weight needs not to

be a linear function of time

slide-8
SLIDE 8

Foot Skating

✦ Blending can cause fixed contact points to slide (e.g. foot sliding on

the floor)

✦ Can be fixed by constrained-based motion editing techniques such

as IK

✦ But how do we set positional constraints?

slide-9
SLIDE 9

Graph Pruning

✦ Issues with connectivity only based on similarity: ✦ dead ends ✦ small loops ✦ logical discontinuity

slide-10
SLIDE 10

Graph Pruning

✦ Assign labels to all the motion clips in the graph ✦ For each label, collect its motion clips and build a strong connected

component (SCC)

✦ Discard all the edges that do not belong to any SCC

slide-11
SLIDE 11

✦ Full-body animation ✦ Skin deformation ✦ Facial animation

slide-12
SLIDE 12

What is skinning?

✦ Skinning is the process of creating association between the

character’s skeleton (articulated rigid bodies) and its skin (meshes).

slide-13
SLIDE 13

Deformation Algorithms

✦ Should handle the general problem of skeleton influenced

deformation rather than treating each area of anatomy as a special case

✦ Should allow direct manipulation of the desired deformations ✦ Common practice: shape interpolation, skeleton subspace

deformation (SSD)

✦ Advanced methods: pose space deformation (PSD), data-driven

method, dual quaternion, etc

slide-14
SLIDE 14

✦ Shape interpolation ✦ Skeletal subspace deformation (skinning) ✦ Pose space deformation ✦ Data-driven deformation ✦ Dual quaternion

slide-15
SLIDE 15

Shape Interpolation

✦ Surface control vertices are a linear combination of the

corresponding vertices on key shapes:

✦ Shapes are independent of the skeletal motion ✦ Interpolated shapes might be distorted

Sk : X

k=0

wkSk

slide-16
SLIDE 16

SSD (Skinning)

✦ A vertex on the deforming surface of an articulated object lies in the

subspace defined by the rigid transformations of that point ¯ p = X wiCi(p)p

slide-17
SLIDE 17

Skin Collapsing

✦ The vertex position in the mesh deformed by linear blend skinning

(SSD) is computed as: ¯ p =

n

X

i=1

wiCi(p)p = n X

i=1

wiCi(p) ! p

slide-18
SLIDE 18

Dual Quaternion Skinning

✦ Dual quaternion skinning solves the problem of linear skinning

methods with minimal additional cost.

✦ No skin collapsing effects exhibited by linear skinning will manifest

themselves.

✦ Maya uses dual quaternion skinning now.

slide-19
SLIDE 19

Blend Dual Quaternions

DLB always returns a rigid transformation, because DLB computes a unit dual quaternion

slide-20
SLIDE 20

Pose Space Deformation

✦ The artist sculpts a deformation for a given pose and assigns a

falloff function for interpolation

✦ Define deformation function at sculpted poses ✦ Interpolate deformation for each vertex based on the current

skeleton pose

✦ Adjust interpolated deformation if needed

p + δ(q)

rigid movement with skeleton deviation for this pose

slide-21
SLIDE 21

PSD vs SSD

slide-22
SLIDE 22

Data-driven Deformation

✦ Use a mocap system and 350 markers

to capture body deformation

✦ The skin motion can be computed by

segmenting the markers into rigid motion and a residual deformation

slide-23
SLIDE 23
slide-24
SLIDE 24

Range Scans

✦ Example data consists of range scans of a human

body in a variety of poses

✦ Construct a mutually consistent parameterization of

all the scans using a posable subdivision surface template

✦ The detail deformations are represented as

displacements from this surface