Hair Simulation COMP 768 Qi Mo Motivation Cosmetic

  • Slides: 65
Download presentation
Hair Simulation COMP 768 Qi Mo

Hair Simulation COMP 768 Qi Mo

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Motivation • Cosmetic prototyping • Entertainment industry - Feature animation - Interactive systems

Challenges • Over 100, 000 hair strands • Real hair properties still under research

Challenges • Over 100, 000 hair strands • Real hair properties still under research

Overview • Styling Geometry of hair Density, distribution, orientation of hair strands • Simulation

Overview • Styling Geometry of hair Density, distribution, orientation of hair strands • Simulation Dynamic motion of hair Collision between hair and other objects Mutual hair interactions • Rendering Light scattering and shadows

Overview • Styling Geometry of hair Density, distribution, orientation of hair strands • Simulation

Overview • Styling Geometry of hair Density, distribution, orientation of hair strands • Simulation Dynamic motion of hair Collision between hair and other objects Mutual hair interactions • Rendering Light scattering and shadows

Hair Geometry • Curliness: Straight, wavy, curly, etc. • Shape of cross-section - Asian

Hair Geometry • Curliness: Straight, wavy, curly, etc. • Shape of cross-section - Asian hair strand: circular - African hair strand: very elliptical - Caucasian hair strand: between the two

Hair styling • Attaching hair to the scalp • Global hair shape • Fine

Hair styling • Attaching hair to the scalp • Global hair shape • Fine details

Attaching hair to the scalp • 2 D Placement • 3 D Placement •

Attaching hair to the scalp • 2 D Placement • 3 D Placement • Distribution of hair strands on the scalp

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized cylinders • Physically-based hairstyling - Fluid flow - Styling vector and motion fields • Generation of hairstyles from images

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized cylinders

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized cylinders

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized cylinders

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and motion fields

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and motion fields

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and

Global Hair Shape Generation • Physically-based hairstyling - Fluid flow - Styling vector and motion fields

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized

Global Hair Shape Generation • Geometry-based hairstyling - Parametric surface - Wisps and generalized cylinders • Physically-based hairstyling - Fluid flow - Styling vector and motion fields • Generation of hairstyles from images

Finer Details

Finer Details

Finer Details

Finer Details

Finer Details

Finer Details

Hair Mechanics • • Difficult to shear and stretch Easy to bend and twist

Hair Mechanics • • Difficult to shear and stretch Easy to bend and twist Anisotropic friction Hair geometry also affects motion

Dynamics of Individual Strand • • Mass-spring systems One dimensional projective equations Rigid multi-body

Dynamics of Individual Strand • • Mass-spring systems One dimensional projective equations Rigid multi-body serial chain Dynamic super-helices

Mass-Spring Systems • Particles connected by stiff springs bending rigidity ensured by angular spring

Mass-Spring Systems • Particles connected by stiff springs bending rigidity ensured by angular spring at each joint ü Simple and easy to implement But does not account for tortional rigidity or non-stretching of each strand

One-dimensional Projective Equations • Hair strand as a chain of rigid sticks ü Easy

One-dimensional Projective Equations • Hair strand as a chain of rigid sticks ü Easy to implement ü Efficient ü Non-stretching ü Bending No tortional stiffness Difficult to handle external punctual forces

Rigid Multi-body Serial Chain • Hair strand as a rigid multi-body open chain •

Rigid Multi-body Serial Chain • Hair strand as a rigid multi-body open chain • Bending and twisting DOFs only, stretching DOF removed • Motion computed using forward dynamics

Super-Helices • Accurate Mechanical Model Kirchhoff Equation and Cosserat Curves

Super-Helices • Accurate Mechanical Model Kirchhoff Equation and Cosserat Curves

Super-Helices Model for Strands • Cosserat curve: a one-dimensional rod • A material frame

Super-Helices Model for Strands • Cosserat curve: a one-dimensional rod • A material frame defined at each point on the centerline

Kinematics r (s, t) – centerline s – curvilinear abscissa along r t –

Kinematics r (s, t) – centerline s – curvilinear abscissa along r t – time ni(s, t) – axis of material frame

Kinematics Ω(s, t) – Darboux Vector τ(s, t) – twist κi (s, t) -

Kinematics Ω(s, t) – Darboux Vector τ(s, t) – twist κi (s, t) - curvatures

Spatial Discretization N– number of segments Q– index of segments 1≤Q ≤ N –

Spatial Discretization N– number of segments Q– index of segments 1≤Q ≤ N – constant curvatures & twist χQ (s) – characteristic function of Q qi, Q(t)

Dynamic Equations • Solve equations of motion using Lagrangian mechanics q (t) – generalized

Dynamic Equations • Solve equations of motion using Lagrangian mechanics q (t) – generalized coordinates T (q, , t) – kinetic energy U (q, t) – internal energy D (q, , t) – dissipation potential F (s, t) – linenic density of forces Ji. Q (s, q, t) – Jacobian matrix

Energy Terms – mass per unit length (EI)0 – torsional stiffness (EI)1, 2 –

Energy Terms – mass per unit length (EI)0 – torsional stiffness (EI)1, 2 – bending stiffness κ 0 – natural twist κ 1, 2 – natural curvatures γ – internal friction coefficient ρS

Equation of Motion • Symbolic Integrations – inertia matrix – stiffness matrix qn –

Equation of Motion • Symbolic Integrations – inertia matrix – stiffness matrix qn – rest position A – all remaining terms

Key Features • Discrete model for Kirchhoff equations • Space integrations performed symbolically •

Key Features • Discrete model for Kirchhoff equations • Space integrations performed symbolically • Stiff constraint of inextensibility incorporated into reconstruction process, therefore removed from the equations of motion • Stable simulation even for small N • When N →∞, Kirchhoff Eq recovered

Parameters of Model • Chosen based on physical measurements - Hair mass - Mean

Parameters of Model • Chosen based on physical measurements - Hair mass - Mean radius and ellipticity - Natural curliness: - Internal friction γ

Results and Validation

Results and Validation

Dynamics of a Full Hairstyle • Hair as a Continuous Medium • Hair as

Dynamics of a Full Hairstyle • Hair as a Continuous Medium • Hair as Disjoint Groups • Collision detection and response • Hair-hair and hair-object interaction

Hair as a Continuous Medium • • Fluid Dynamics Loosely Connected Particles Interpolation between

Hair as a Continuous Medium • • Fluid Dynamics Loosely Connected Particles Interpolation between Guide Hair Strands Free Form Deformation

Animating Hair with Fluid Dynamics • Kinematically link each hair strand to fluid particles

Animating Hair with Fluid Dynamics • Kinematically link each hair strand to fluid particles in their vicinity • Hair-hair interactions modeled by pressure and viscosity forces between strands • Hair-body interactions modeled by creating boundary particles around solid objects ü Captures the complex interactions of hair strands Cannot capture the dynamic clustering effects Computationally expensive

Loosely Connected Particles • Use a set of fluid particles that interact in an

Loosely Connected Particles • Use a set of fluid particles that interact in an adaptive way • Neighboring particles with similar orientations are linked • During motion particles interact with other particles in its local neighborhood through breakable links • Allows separation and grouping while maintaining constant hair length

Interpolation between Guide Hair Strands • Only simulate a sparse set of hair strands

Interpolation between Guide Hair Strands • Only simulate a sparse set of hair strands • Remaining strands created by interpolation • Only use the guide strands to detect and handle collisions - Might miss collisions

Free Form Deformation (FFD) • Define a mechanical model for a lattice surrounding the

Free Form Deformation (FFD) • Define a mechanical model for a lattice surrounding the head • Lattice deformed using a global volumetric FFD scheme • Good for simulating complex hairstyles when head motion has low magnitude • Cannot reproduce discontinuities in hair

Hair as Disjoint Groups • Group nearby hair strands, simulate groups as independent, interacting

Hair as Disjoint Groups • Group nearby hair strands, simulate groups as independent, interacting entities ü Account for discontinuities during fast motion ü Save computation time • Simulation of - Hair strips - Wisps

Simulation of Hair Strips • Model groups of strands using a thin flat patch,

Simulation of Hair Strips • Model groups of strands using a thin flat patch, e. g. a NURBS surface ü Achieves real time using a strip to represent tens or hundreds of hairs Limited in the types of hairstyle and motion

Simulation of Wisps • Group neighboring strands into wisps • Wisp representations - Trigonal

Simulation of Wisps • Group neighboring strands into wisps • Wisp representations - Trigonal prism-based wisp - Typical strandom displacements - Layered wisp model

Multi-resolution Methods • Tradeoff: performance and realism • Level-of-detail representations • Adaptive clustering

Multi-resolution Methods • Tradeoff: performance and realism • Level-of-detail representations • Adaptive clustering

Level-of-Detail Representations • Three discrete levels of detail - strands, clusters, and strips •

Level-of-Detail Representations • Three discrete levels of detail - strands, clusters, and strips • Common representation by subdivided curves and surfaces • Collision detection using Swept Sphere Volumes • Dynamic level transition based on visibility, viewing distance, and motion

Adaptive Clustering • Continuously adjustment with Adaptive Wisp Tree (AWT) • Dynamically splits or

Adaptive Clustering • Continuously adjustment with Adaptive Wisp Tree (AWT) • Dynamically splits or groups wisps while preserving tree-like structure • Implicitly models hair interactions

Hair Rendering • • Representation Light scattering in hair Hair self-shadowing Acceleration

Hair Rendering • • Representation Light scattering in hair Hair self-shadowing Acceleration

Representation • Explicit representation curved cylinder, trigonal prism, triangle strips thin -> undersampling ->

Representation • Explicit representation curved cylinder, trigonal prism, triangle strips thin -> undersampling -> blending techniques • Implicit representation volumetric textures, cluster model with density avoid aliasing, but traversal may be expensive

Hair Optical Properties • Hair composed of amorphous proteins as a transparent medium with

Hair Optical Properties • Hair composed of amorphous proteins as a transparent medium with an index of refraction η= 1. 55 • Contain pigments that absorb light in a wavelength-dependent way -> color • Circular/elliptical fibers treated as onedimensional

Light scattering • One-dimensional reformulation of BRDF • Reflection and refraction in cylinders •

Light scattering • One-dimensional reformulation of BRDF • Reflection and refraction in cylinders • Physical measurement of scattering

Light Scattering Model • Kay and Kajiya’s model • Marschner’s model

Light Scattering Model • Kay and Kajiya’s model • Marschner’s model

Self-shadowing • Challenges - complex geometry - strong forward scattering properties • Ray-casting through

Self-shadowing • Challenges - complex geometry - strong forward scattering properties • Ray-casting through a volumetric representation • Shadow maps

Rendering Acceleration • Approximating Hair Geometry • Interactive Volumetric Rendering • Graphics Hardware

Rendering Acceleration • Approximating Hair Geometry • Interactive Volumetric Rendering • Graphics Hardware

Summary • Styling Hair geometry Attaching hair to scalp, generate global shape, capture finer

Summary • Styling Hair geometry Attaching hair to scalp, generate global shape, capture finer details • Simulation Hair mechanics Mass-spring systems, One dimensional projective equations, Rigid multi-body serial chain, Dynamic super-helices Continuous medium, disjoint groups Multi-resolution methods • Rendering Hair optics Representation, light scattering, self-shadowing, acceleration techniques

Open Challenges • Physically-based realism • Visual realism with high user control • Computations

Open Challenges • Physically-based realism • Visual realism with high user control • Computations acceleration

Reference 1. 2. 3. 4. 5. Anjyo, Usami & Kurihara (1992): A simple method

Reference 1. 2. 3. 4. 5. Anjyo, Usami & Kurihara (1992): A simple method for extracting the natural beauty of hair Bertails, Kim, Cani & Neumann (2003): Adaptive wisp tree – a multiresolution control structure for simulating dynamic clustering in hair motion Chang, Jin & Yu (2002): A practical model for hair mutual interactions Hadap & Magnenat-Thalmann (2001): Modeling dynamic hair as a continuum Koh & Huang (2000): Real-time animation of human hair modeled in strips

6. Kurihara, Anjyo & Thalmann (1993): Hair animation with collision detection 7. L'Oréal (2005):

6. Kurihara, Anjyo & Thalmann (1993): Hair animation with collision detection 7. L'Oréal (2005): Hair Science www. hair-science. com 8. Magnenat-Thalmann & Hadap (2000): State of the art in hair simulation 9. Petrovic, Henne & Anderson (2007): Volumetric methods for simulation and rendering of hair 10. Plante, Cani & Poulin (2001): A layered wisp model for simulating interactions inside long hair 11. Rosenblum, Carlson & Tripp (1991): Simulating the structure and dynamics of human hair: Modeling, rendering, and animation

12. Volino & Magnenat-Thalmann (1999): Animating complex hairstyles in real-time 13. Watanbe & Suenaga

12. Volino & Magnenat-Thalmann (1999): Animating complex hairstyles in real-time 13. Watanbe & Suenaga (1992): A trigonal prism-based method for hair image generation 14. Ward, Bertails, Kim, Marschner, Cani & Lin (2007): A survey on hair modeling: styling, simulation and rendering 15. Ward & Lin (2003): Adaptive grouping and subdivision for simulating hair dynamics 16. Ward, Lin, Lee, Fisher & Macri (2003): Modeling hair using level-of-detail representations