0% found this document useful (0 votes)
16 views44 pages

004character Animation Using Skinning

The document discusses skinning techniques for animating 3D character models. It describes how articulated character rigs can be built from skeletal hierarchies and animated by changing joint angles over time. Key aspects covered include forward and inverse kinematics, binding skin vertices to bones with weight values, and using linear blend skinning to deform the character mesh based on bone transformations.

Uploaded by

iimsheung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views44 pages

004character Animation Using Skinning

The document discusses skinning techniques for animating 3D character models. It describes how articulated character rigs can be built from skeletal hierarchies and animated by changing joint angles over time. Key aspects covered include forward and inverse kinematics, binding skin vertices to bones with weight values, and using linear blend skinning to deform the character mesh based on bone transformations.

Uploaded by

iimsheung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Character Animation

using Skinning
Articulated Character Models
 Low-dimensional animation controls
for characters

Image from https://www.artstation.com/artwork/PZ8q1


Articulated Character Models
Articulated Character Models
 Forward kinematics (FK) describes the positions
of the body parts as a function of joint angles
 Body parts are
usually called “bones”
 Angles are the low-dimensional control.

𝛼0

𝑥0 , 𝑦0
Articulated Character Models
 Forward kinematics (FK) describes the positions
of the body parts as a function of joint angles
 Body parts are
usually called “bones”
 Angles are the low-dimensional control.
𝑥1 , 𝑦1
β0
𝛼0

𝑥0 , 𝑦0
Articulated Character Models
 Forward kinematics describes the positions of
the body parts as a function of joint angles
 Body parts are
usually called “bones”
 Angles are the low-dimensional control.
𝑥1 , 𝑦1
β0
Articulated Character Models
 Forward kinematics (FK) describes the positions
of the body parts as a function of joint angles
 Body parts are
usually called “bones”
 Angles are the low-dimensional control.
Forward kinematics

 Inverse kinematics (IK) specifies constraint


locations for bones and solves for joint angles.

Inverse kinematics
Images from blog "Simple Inverse Kinematics",
Dave Pagurek, 2017
Animating Characters
 How to animate human
characters ?
Animating Characters
 How to animate human
characters ?

Image by mohamed Hassan from Pixabay


Animating Characters
 How to animate human
characters ?
 Embed a skeleton into a
detailed character mesh
Animating Characters
 Embed a skeleton into a
detailed character mesh
 Animate “bones”
 Change the joint
angles over time
 Keyframing, procedural,
etc.
Animating Characters
 Embed a skeleton into a
detailed character mesh
 Animate “bones”
 Change the joint
angles over time
 Keyframing, procedural,
etc.
 Bind skin vertices to bones
 Animate skeleton, skin will
move with it
Rigging - Skeletons Building and Binding

https://youtu.be/FiEdSVtXIls
Hierarchical Modeling
 Very common in modeling articulated characters
 Chain up motion in different hierarchy

https://youtu.be/0etry3MVa90
Skinning/Enveloping
 Need to infer how skin deforms from bone
transformations.
 Most popular technique:
Skeletal Subspace Deformation (SSD), or
simply Skinning
 Other aliases
 vertex blending
 matrix palette skinning
 linear blend skinning
SSD/Skinning
 Each bone has a deformation of
the space around it (rotation, translation)

Vertices on a bone
Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 Each bone has a deformation of
the space around it (rotation, translation)

Transform the
whole arm Rotate forearm

Transform the
skin/vertices Rotate the skin/vertices

Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin
to a single bone ?

Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin
to a single bone ?
 Skin will be rigid:
 In the middle of a limb,
the skin points follow the bone rotation
Rotate forearm

Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin
to a single bone ?
 Skin will be rigid:
 In the middle of a limb,
the skin points follow the bone rotation
Rotate forearm
 At joints, it will stretch badly

Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin to
a single bone ?
 Skin will be rigid:
 In the middle of a limb,
the skin points follow the bone rotation
 At joints, it will stretch badly
 Let’s attach a vertex to many bones at
once!

Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin to
a single bone ?
 Skin will be rigid:
 In the middle of a limb,
the skin points follow the bone rotation
Rotate forearm
 At joints, it will stretch badly
 Let’s attach a vertex to many bones at
once!
 Skin will be deformed according to a
“weighted combination” of the bones Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
SSD/Skinning
 What if we attach each vertex of the skin to
a single bone ?
 Skin will be rigid:
 In the middle of a limb,
the skin points follow the bone rotation
Rotate forearm
 At joints, it will stretch badly
 Let’s attach a vertex to many bones at
once!
 Skin will be deformed according to a
“weighted combination” of the bones Images from Liu, Feng, Ronghua Liang, and Dahai Ye. "Skeleton
Subspace Deformation with Displacement Map."
Vertex Weights
 We’ll assign a weight 𝑤𝑖𝑗 for each vertex 𝑝𝑖
for each bone 𝐵𝑗
 “How much vertex 𝑖 should move with bone 𝑗 ?”
 𝑤𝑖𝑗 = 1 means 𝑝𝑖 is rigidly attached to bone 𝑗
 𝑤𝑖𝑗 = 0 means bone 𝑗 has no influence over 𝑝𝑖
Examples

James & Twigg 2005


Examples
Colored regions are
attached to 1 bone

James & Twigg 2005


Examples
Colored regions are
attached to 1 bone

Black regions are attached to


more than 1 bone

Note how they are near joints

James & Twigg 2005


Examples
Colored regions are
attached to 1 bone

Black regions are attached to


more than 1 bone

Note how they are near joints

James & Twigg 2005


Examples
Colored regions are
attached to 1 bone

Black regions are attached to


more than 1 bone

Note how they are near joints

James & Twigg 2005


Vertex Weights
 We’ll assign a weight 𝑤𝑖𝑗 for each vertex 𝑝𝑖
for each bone 𝐵𝑗
 “How much vertex 𝑖 should move with bone 𝑗 ?”
 𝑤𝑖𝑗 = 1 means 𝑝𝑖 is rigidly attached to bone 𝑗
 𝑤𝑖𝑗 = 0 means bone 𝑗 has no influence over 𝑝𝑖

 Weight properties
 Weights to be non-negative
 Sum over all bones to be 1 for each vertex
Vertex Weights cont’d
 We’ll assign a weight 𝑤𝑖𝑗 for each vertex 𝑝𝑖
for each bone 𝐵𝑗
 “How much vertex 𝑖 should move with bone 𝑗 ?”
 𝑤𝑖𝑗 = 1 means 𝑝𝑖 is rigidly attached to bone 𝑗
 𝑤𝑖𝑗 = 0 means bone 𝑗 has no influence over 𝑝𝑖

 We limit the number of bones N that can


influence a single vertex
 4 bones/vertex is a usual choice
 Why ?
Vertex Weights cont’d
 We’ll assign a weight 𝑤𝑖𝑗 for each vertex 𝑝𝑖
for each bone 𝐵𝑗
 “How much vertex 𝑖 should move with bone 𝑗 ?”
 𝑤𝑖𝑗 = 1 means 𝑝𝑖 is rigidly attached to bone 𝑗
 𝑤𝑖𝑗 = 0 means bone 𝑗 has no influence over 𝑝𝑖

 We limit the number of bones N that can


influence a single vertex
 4 bones/vertex is a usual choice
 Why ? You most often don’t need very many.
 Storage space is an issue.
How to compute
vertex positions ?
Linear Blend Skinning

 Basic Idea 1: Transform each vertex 𝑝𝑖 with


each bone as if it was tied to it rigidly.
 Basic Idea 2: Then blend the results using
the weights
Computing Vertex Positions
Rest (“bind”) pose
 Vertex 𝑝0 has weights
𝑤01 = 0.5, 𝑤02 = 0.5
Bone 1: T1 Bone 2: T2

p0
“Skin”
Computing Vertex Positions
Rest (“bind”) pose
 Vertex 𝑝0 has weights
𝑤01 = 0.5, 𝑤02 = 0.5
Bone 1: T1 Bone 2: T2

p0
“Skin”  Transform by T’1 and T’2
After rotations yields 𝑝01

, 𝑝02

p’01 p’02
Computing Vertex Positions
Rest (“bind”) pose
 Vertex 𝑝0 has weights
𝑤01 = 0.5, 𝑤02 = 0.5
Bone 1: T1 Bone 2: T2

p0
“Skin”  Transform by T’1 and T’2
After rotations yields 𝑝01

, 𝑝02

 The new position is


𝑝0′ = 0.5 ∗ 𝑝01
′ ′
+ 0.5 ∗ 𝑝02

p’01 p’0 p’02


Computing Vertex Positions
Rest (“bind”) pose
 Vertex 𝑝0 has weights
𝑤01 = 0.5, 𝑤02 = 0.5
Bone 1: T1 Bone 2: T2

p0
“Skin”  Transform by T’1 and T’2
After rotations yields 𝑝01

, 𝑝02

 The new position is


𝑝0′ = 0.5 ∗ 𝑝01
′ ′
+ 0.5 ∗ 𝑝02

p’01 p’0 p’02


SSD is Not Perfect
q0

p0

After rotations

Images from Pose Space Deformation: A Unified Approach to Shape Interpolation


and Skeleton-Driven Deformation, J. P. Lewis, Matt Cordner, Nickson Fong
Figuring out the weights
 Usual approach: Paint them on the skin.

(a) (b) (c)


Images from Shade 3D: Using Weight Painting
Examples

https://youtu.be/Tl4qTgwQwYw
Super Cool: Automatic Rigging
 When you just have some reference skeleton
animation (perhaps from motion capture)
and a skin mesh, figure out the bone
transformations and vertex weights!
 Ilya Baran, Jovan Popovic: Automatic
Rigging and Animation of 3D Characters,
SIGGRAPH 2007

Image from Ilya Baran, Jovan Popovic: Automatic Rigging


and Animation of 3D Characters, SIGGRAPH 2007
First Fully Automatic Rigging Algorithm

Input Output
3D Character
Rigged Character

Pinocchio
Generic Skeleton

Image from Ilya Baran, Jovan Popovic: Automatic Rigging and Animation of 3D Characters,
SIGGRAPH 2007
https://youtu.be/EklzamltEgM

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy