Hair Simulation COMP 768 Qi Mo. Motivation Cosmetic prototyping Entertainment industry - Feature animation - Interactive systems

Embed Size (px)

Text of Hair Simulation COMP 768 Qi Mo. Motivation Cosmetic prototyping Entertainment industry - Feature...

  • Hair SimulationCOMP 768 Qi Mo

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • MotivationCosmetic prototyping Entertainment industry - Feature animation - Interactive systems

  • ChallengesOver 100,000 hair strandsReal hair properties still under research

  • OverviewStyling Geometry of hair Density, distribution, orientation of hair strandsSimulation Dynamic motion of hair Collision between hair and other objects Mutual hair interactionsRendering Light scattering and shadows

  • OverviewStyling Geometry of hair Density, distribution, orientation of hair strandsSimulation Dynamic motion of hair Collision between hair and other objects Mutual hair interactionsRendering Light scattering and shadows

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

  • Hair stylingAttaching hair to the scalpGlobal hair shapeFine details

  • Attaching hair to the scalp2D Placement3D PlacementDistribution of hair strands on the scalp

  • Global Hair Shape GenerationGeometry-based hairstyling - Parametric surface - Wisps and generalized cylindersPhysically-based hairstyling - Fluid flow - Styling vector and motion fieldsGeneration of hairstyles from images

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

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

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

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

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

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

  • Global Hair Shape GenerationGeometry-based hairstyling - Parametric surface - Wisps and generalized cylindersPhysically-based hairstyling - Fluid flow - Styling vector and motion fieldsGeneration of hairstyles from images

  • Finer Details

  • Finer Details

  • Finer Details

  • Hair MechanicsDifficult to shear and stretchEasy to bend and twistAnisotropic frictionHair geometry also affects motion

  • Dynamics of Individual StrandMass-spring systemsOne dimensional projective equationsRigid multi-body serial chainDynamic super-helices

  • Mass-Spring SystemsParticles connected by stiff springs bending rigidity ensured by angular spring at each joint

    Simple and easy to implementBut does not account for tortional rigidity or non-stretching of each strand

  • One-dimensional Projective EquationsHair strand as a chain of rigid sticks

    Easy to implementEfficientNon-stretchingBendingNo tortional stiffnessDifficult to handle external punctual forces

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

    Bending and twisting DOFs only, stretching DOF removedMotion computed using forward dynamics

  • Super-HelicesAccurate Mechanical Model Kirchhoff Equation and Cosserat Curves

  • Super-Helices Model for StrandsCosserat curve: a one-dimensional rodA material frame defined at each point on the centerline

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

  • Kinematics

    (s, t) Darboux Vector(s, t) twisti (s, t) - curvatures

  • Spatial Discretization

    N number of segmentsQ index of segments 1Q Nqi,Q(t) constant curvatures & twistQ (s) characteristic function of Q

  • Dynamic EquationsSolve equations of motion using Lagrangian mechanicsq (t) generalized coordinates T (q, , t) kinetic energy U (q, t) internal energyD (q, , t) dissipation potentialF (s, t) linenic density of forcesJiQ (s, q, t) Jacobian matrix

  • Energy TermsS mass per unit length(EI)0 torsional stiffness(EI)1,2 bending stiffness 0 natural twist1,2 natural curvatures internal friction coefficient

  • Equation of MotionSymbolic Integrations inertia matrix stiffness matrix qn rest position A all remaining terms

  • Key FeaturesDiscrete model for Kirchhoff equationsSpace integrations performed symbolicallyStiff constraint of inextensibility incorporated into reconstruction process, therefore removed from the equations of motionStable simulation even for small NWhen N , Kirchhoff Eq recovered

  • Parameters of ModelChosen based on physical measurements - Hair mass - Mean radius and ellipticity - Natural curliness:

    - Internal friction

  • Results and Validation

  • Dynamics of a Full HairstyleHair as a Continuous MediumHair as Disjoint Groups

    Collision detection and responseHair-hair and hair-object interaction

  • Hair as a Continuous MediumFluid DynamicsLoosely Connected ParticlesInterpolation between Guide Hair StrandsFree Form Deformation

  • Animating Hair with Fluid DynamicsKinematically link each hair strand to fluid particles in their vicinityHair-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 strandsCannot capture the dynamic clustering effectsComputationally expensive

  • Loosely Connected ParticlesUse a set of fluid particles that interact in an adaptive wayNeighboring particles with similar orientations are linkedDuring motion particles interact with other particles in its local neighborhood through breakable linksAllows separation and grouping while maintaining constant hair length

  • Interpolation between Guide Hair StrandsOnly simulate a sparse set of hair strandsRemaining strands created by interpolationOnly 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 headLattice deformed using a global volumetric FFD scheme

    Good for simulating complex hairstyles when head motion has low magnitudeCannot reproduce discontinuities in hair

  • Hair as Disjoint GroupsGroup nearby hair strands, simulate groups as independent, interacting entitiesAccount for discontinuities during fast motionSave computation time

    Simulation of - Hair strips - Wisps

  • Simulation of Hair StripsModel 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 hairsLimited in the types of hairstyle and motion

  • Simulation of WispsGroup neighboring strands into wispsWisp representations - Trigonal prism-based wisp - Typical strand and random displacements - Layered wisp model

  • Multi-resolution MethodsTradeoff: performance and realism

    Level-of-detail representationsAdaptive clustering

  • Level-of-Detail RepresentationsThree discrete levels of detail - strands, clusters, and stripsCommon representation by subdivided curves and surfacesCollision detection using Swept Sphere VolumesDynamic level transition based on visibility, viewing distance, and motion

  • Adaptive ClusteringContinuously adjustment with Adaptive Wisp Tree (AWT)Dynamically splits or groups wisps while preserving tree-like structureImplicitly models hair interactions

  • Hair RenderingRepresentationLight scattering in hairHair self-shadowingAcceleration

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

  • Hair Optical PropertiesHair composed of amorphous proteins as a transparent medium with an index of refraction = 1.55Contain pigments that absorb light in a wavelength-dependent way -> colorCircular/elliptical fibers treated as one-dimensional

  • Light scatteringOne-dimensional reformulation of BRDF

    Reflection and refraction in cylindersPhysical measurement of scattering

  • Light Scattering ModelKay and Kajiyas modelMarschners model

  • Self-shadowingChallenges - complex geometry - strong forward scattering properties

    Ray-casting through a volumetric representationShadow maps

  • Rendering AccelerationApproximating Hair GeometryInteractive Volumetric RenderingGraphics Hardware

  • SummaryS