23
Rick Parent – CSE7 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform vertices between bisectors Pose space deformations Wrap skin around model of internal structure

Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Embed Size (px)

Citation preview

Page 1: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Modeling Skin

Blend using multiple bones

Continuous Skin

Separate object(s) per limb (and joints)

Rigidly transform vertices

Transform vertices between bisectors

Pose space deformations

Wrap skin around model of internal structure

Page 2: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Separate objects

Overlapping gives appearance of continuous surface - somewhat

Add element at joint to smooth between limbs

Works best with uniform color

Page 3: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Continuous skin

Define underlying skeleton from skin

Design character skin

Bind skin vertex to skeleton

Page 4: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Rigidly bind vertex to closest bone

Skin vertex

Associate vertex with closest ‘bone’

Closest bone

Rigidly transform vertex as bone transforms

Page 5: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Rigidly transform vertices

Problems with overlap and stretching

Page 6: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Bind vertex to bone - bisectors

Skin vertex

Locate vertex relative to closest bone

p1p2

p0

Joint bisectors

12

12

01

01

pp

pp

pp

ppn

Normal of bisecting plane

12

)12()1(

pp

pppvd

Distance from vertex to bone

d

Line parallel to bone through vertex

s

t

s – distance from vertex to first bisectort – distance between bisectors

v

Page 7: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Map vertices to relative location

Use d, s, t to reconstruct location of vertex relative to

bone

Page 8: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Bind vertex to multiple bones

Skin vertex

Locate vertex relative to closest bone

80%20%

User ‘paints’ which bones affect what vertices

Relative distance used to compute weights

Page 9: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Blend transformation of vertices

Vertices around joint are affected by both bones

vCv ii

Page 10: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

But twists can collapse vertices

So add addition joints or use alternatives to linear blending

Page 11: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Pose space deformations

User ‘sculpts’ skin in various poses

For each vertex solve weights to use with Radial Basis Functions for

scattered data interpolation

See: www.cs.wisc.edu/graphics/Courses/cs-838-2001/Students/lx/p2.htm

Page 12: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Use anatomy to model deep structure

What artists do

Skin wraps bones, muscles, tendons, subcutaneous tissue

Surface geometry affected by what’s happening underneath

Page 13: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Warp skin based on model of internal structure

Skeletal articulation modifies shape of muscle

Muscle shape modifies skin shape

Add model of tendons, fatty tissue

Page 14: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Reference material

Artistic AnatomyAnatomy related to surface appearanceversus Medical AnatomyWell-developed literature

Forensic ScienceFacial Reconstruction

Plastic SurgerySurface Appearance Reconstruction

Page 15: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Layered: Bone-Muscle-Skin

Bone

Muscle &Tendons

Skin

Fatty Tissue

Page 16: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Modeling - Layered

FFD muslces

John Chadwick, ABDCSE OSU ‘90

Page 17: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Modeling - Thalmann, EPFL

From http://ligwww.epfl.ch/

Implicit surfaces

Page 18: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Modeling

Embed polyhedra in implicit surfaceImplicits used for approx. collision detect & respondPolyhedra used for display

Use M.-P. Cani technique to distort implicits based on collisions

Karan Singh, PhDCSE OSU ‘95

Page 19: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Human Figure

Use artistic anatomy to design muscles

Ferdi Scheepers, PhDCSE OSU ‘97

Page 20: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Human Figure

Page 21: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Human Figure

Page 22: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Figures - Wilhelms, UCSB

http://www.cse.ucsc.edu/~wilhelms/fauna/Monkeys/5monk_parts.gif

Page 23: Rick Parent – CSE788 Modeling Skin Blend using multiple bones Continuous Skin Separate object(s) per limb (and joints) Rigidly transform vertices Transform

Rick Parent – CSE788

Use Visible Human dataset

Skeletal Muscle Modeling Using a NURBS-Based Finite Element Method

www.digital-humans.org/Report2004/Documents/13-MuscleStressAndStrain.htm

http://graphics.stanford.edu/~fedkiw/