Hair Simulation COMP 768 Qi Mo.

Slides:



Advertisements
Similar presentations
Bath, 25 Years of CG Hair Modelling, Animation, and Rendering Wen Tang School of Computing, University of Teesside
Advertisements

Hair Simulation Model for Real-Time Environments Petr Kmoch 1, Ugo Bonanni 2, Nadia Magnenat- Thalmann 2 1. Faculty of Mathematics and Physics, Charles.
Real-Time Dynamic Wrinkles Caroline Larboulette Marie-Paule Cani GRAVIR Lab, Grenoble, France.
Motivation Hair animation used in movies, games, virtual reality, etc. Problem due to complexity –Human head has over 100,000 strands of hair –Computation.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
3D Graphics Rendering and Terrain Modeling
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Figure Animation.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Dynamic Real-Time Deformations using Space & Time Adaptive Sampling Gilles Debunne Marie-Paule Cani Gilles Debunne Marie-Paule Cani Mathieu Desbrun Alan.
Simulation and Rendering of Liquid Foams Hendrik Kück (UBC, Vancouver) Christian Vogelgsang (FAU Erlangen, Germany) Günther Greiner (FAU Erlangen, Germany)
Ch. 7: Dynamics.
CSE351/ IT351 Modeling and Simulation
GPU Hierarchies for Hair Simulation Qi Mo COMP 768 course project proposal.
Hair Modeling & Simulation: An Overview Ming Lin and Kelly Ward University of North Carolina at Chapel Hill.
HK UST * Hong Kong University of Science and Technology HK UST Modeling Hair from Multiple Views Y. Wei, E. Ofek, L. Quan and H. Shum.
Interactive Hairstyle Modeling Using a Sketching Interface Xiaoyang Mao Kouichi Kashio Hiroyuki Kato Atsumi Imamiya CGGM 2002.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Modeling Fluid Phenomena -Vinay Bondhugula (25 th & 27 th April 2006)
Meshless Animation of Fracturing Solids Mark Pauly Leonidas J. Guibas Richard Keiser Markus Gross Bart Adams Philip Dutré.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Feature-length films: Games: Desktop Animations: Computer Animation.
Writing a Hair Dynamics Solver Tae-Yong Kim Rhythm & Hues Studios
Modeling Hair-Hair Interactions Using Sparse Guide Hairs Yizhou Yu Joint work with Johnny Chang and Jingyi Jin Department of Computer Science University.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Surgical Thread Simulation J. Lenoir, P. Meseure, L. Grisoni, C. Chaillou Alcove/LIFL INRIA Futurs, University of Lille 1.
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
Rendering hair with graphics hardware Tae-Yong Kim Rhythm & Hues Studios
Computer animation Hair “A Survey on Hair Modeling: Styling, Simulation, and Rendering,” K. Ward, F. Bertails, T.-Y. Kim S. Marschner, M.-P. Cani, M. Lin.
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
Haptics and Virtual Reality
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
A Unified Lagrangian Approach to Solid-Fluid Animation Richard Keiser, Bart Adams, Dominique Gasser, Paolo Bazzi, Philip Dutré, Markus Gross.
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
Human Figure Animation CSE 3541 Matt Boggus. Modeling – Geometric representation – Level of detail – Linkages: DoFs – Features: face, hair, clothes Activities/Motions.
Game Programming 06 The Rendering Engine
Digital Media Lecture 8: Vector Graphics 3D Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Stress constrained optimization using X-FEM and Level Set Description
A Computationally Efficient Framework for Modeling Soft Body Impact Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Three-Dimensional Object Representation
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Graphics Lecture 17: Slide 1 Interactive Computer Graphics Lecture 17: Fire.
Particle-based Viscoelastic Fluid Simulation Simon Clavet Philippe Beaudoin Pierre Poulin LIGUM, Université de Montréal.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Adaptive resolution of 1D mechanical B-spline Julien Lenoir, Laurent Grisoni, Philippe Meseure, Christophe Chaillou.
CS274 Spring 01 Lecture 8 Copyright © Mark Meyer Lecture VIII Deformable Bodies CS274: Computer Animation and Simulation.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
Feature-length films: Games: Desktop Animations:.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Fundamentals of Computer Animation Flexible Objects (2)
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Computer Animation Algorithms and Techniques
Hair Modelling, Animation, and Rendering
Human Figure Animation
Introduction to Graphics Modeling
3D Object Representations
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Simulation Acceleration Techniques
Advanced Games Development Game Physics
Computer Graphics Lecture 15.
Presentation transcript:

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

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

Overview Styling Geometry of hair Simulation Dynamic motion 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 Simulation Dynamic motion 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 strand: circular - African hair strand: very elliptical - Caucasian hair strand: between the two

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

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

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 cylinders

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 cylinders

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 motion fields

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 cylinders Physically-based hairstyling - Fluid flow - Styling vector and motion fields Generation of hairstyles from images

Finer Details

Finer Details

Finer Details

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 serial chain Dynamic super-helices

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 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 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 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 – time ni(s, t) – axis of material frame

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 qi,Q(t) – constant curvatures & twist χQ (s) – characteristic function of Q

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 JiQ (s, q, t) – Jacobian matrix

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

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

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 radius and ellipticity - Natural curliness: - Internal friction γ

Results and Validation

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 Guide Hair Strands Free Form Deformation

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 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 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 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 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, 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 prism-based wisp - Typical strand and random displacements - Layered wisp model

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 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 groups wisps while preserving tree-like structure Implicitly models hair interactions

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

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 an index of refraction η= 1.55 Contain pigments that absorb light in a wavelength-dependent way -> color Circular/elliptical fibers treated as one-dimensional

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

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

Summary Styling Simulation Rendering 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 acceleration

Reference 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): 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 (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