Home > Hair and Fur Modeling

# Hair and Fur Modeling

Hair and Fur Modeling

Kelly Ward

Comp 259

Spring 2002

Overview

• Hair and fur animation used in movies, games, virtual reality, etc.
• Problem due to complexity
• Human head has over 100,000 strands of hair
• Computation time for simulation and rendering is costly

Overview

• Fur Modeling
• Shorter Hair
• Animals

Final Fantasy

102 Dalmatians

• Hair Modeling
• Longer Hair
• People

Fur

• “Real-Time Fur over Arbitrary Surfaces”
• Jerome Lengyel, Emil Praun, Adam Finkelstein, Hughes Hoppe
• Proc. of ACM Simp. on Interactive 3D Graphics, 2001
• Volume textures are rendered as series of semi-transparent concentric shells

Fur

• Create shell texture:
• Simulate virtual hair with a particle system
• Sample it into volume texture

Fur

• Fur near silhouettes, render textured fins

Fur

• Render a series of textured, concentric shells, offset from the surface

Fur

Hair Modeling

• Different modeling techniques based on desired outcome
• Speed vs. Appearance
• Short vs. Long
• Wavy vs. Straight

Individual Strands

• “A Simple Method for Extracting the Natural Beauty of Hair”
• K. Anjyo, Y. Usami, and T. Kurihara
• Computer Graphics, 1992
• “Hair Animation with Collision Detection
• T. Kurihara, K. Anjyo, D. Thalmann
• Models and Techniques in Computer Animation, 1993

Individual Hair Strands

• Each strand represented as a series of connected line segments

Strand of Hair

• Shape represented by angles specified between two segments
• Polar coordinates
• Zenith θi
• Azimuth Φi
• Specify resting position for hair as θ0 and Φ0

Polar Coordinate System

Polar Coordinate System

Section 0

Node 0

Section 1

Node 1

Φ1

θ1

N1

N2

0 θ 180°

0 Ф 360°

Nodes, or control points, control the shape of the skeleton

d

Mθ = Mθspring + Mθexternal

MΦ = MΦspring + MΦexternal

Physics of Motion

• Apply forces to control points
• Use torque for resulting motion of control points
• Mθspring, MΦspring between two segments
• Mθexternal, MΦexternal from external forces
• Gravity, Wind

Physics of Motion

Where kθ and kΦ are spring constants and θ0 and Φ0 are initial angles

Where

• u is (1/2)d,
• d is the length of a segment of hair
• v is the half length of the segment that is the projection of si onto the Φ plane.

Collision

• Hair-Hair collision ignored
• Collision Detection with Head and Body
• Divide human body into several parts and create a cylindrical representation
• Collision detection reduced to checking for control points inside or outside of cylinders

Collision

• Collision Reaction
• Use lookup table and bi-linear interpolation to find normal vectors for collision response direction
• Reaction constraint method by Platt and Barr 1988 is used:

N = normal vector at point T

V = velocity of point P

c = damping coefficient

k = strength of the constraint

Finput = applied force to node point P

Limitations of Method

• Simulating each strand very costly
• Collision detection is just rough estimation
• Can fail to detect collisions
• Table Resolution
• Some objects cannot be represented well as cylinder, particularly top of head
• Cannot be applied to hair-hair collisions

Setup and Styling Hair

Results

Group Strands

• Strands close to each other behave similarly
• Use some strands as a guide, interpolate position and motion of strands near it
• Save computation time

Layered Wisp Model

• “A Layered Wisp Model for Simulating Interactions inside Long Hair”
• E. Plante, M. Cani, P. Poulin
• Proc. of Eurographics Workshop on Animation and Simulation, 2001
• Strands are grouped together into a deformable wisp

Layered Wisp Model

• Three Layers to Wisp
• Skeleton Curve
• Defines global motion and deformations
• Deformable Envelope
• Coats skeleton, defines deformations of wisp sections
• Hair Strands
• Individual strands of hair for rendering

Wisp Skeleton

• Defines global movements and deformations of wisp
• Chain of point-masses linked by linear damping
• Create motion by applying forces to point-masses
• Similar to strand of previous works

Wisp Envelope

• Surrounds the skeleton and defines deformations of the wisp sections
• Responsible for motion that occurs when the group of hair, or wisp, is stretched or compressed

Wisp Envelope

• Broken up into cross-sections that are associated with each point-mass of skeleton

• Shape of cross-section dependent on number of envelope point-masses used
• Envelope point-masses linked to skeleton point-masses through damped springs

Hair Strands

• Individual strands of hair are placed within the wisp for rendering
• Strands placed randomly within cross-section of wisp, skeleton is origin
• Catmull-Rom piecewise cubic curves are used to define strands

Collisions

• Interactions between wisps
• Create bounding boxes around wisp segments
• Test bounding boxes against each other to detect collision
• Checks for penetration of envelope or skeleton point mass into another bounding volume
• Wisp envelopes can be compressed depending on orientation of colliding wisps
• If same orientation, allow collision

Collisions

• Check orientations of wisps
• Determine if collision is allowed
• If not, determine if a point-mass is inside the volume of another wisp section

• Volume defined by two cross-sections

Collisions

• Interactions between wisp and person
• Sliding Contact
• Check point-mass close to body (within threshold)
• Eliminate velocity of point-mass
• Penetration Reaction
• If point-mass (either envelope or skeleton) collides with the body, move point-mass outside of body then use “sliding contact” method

Results

• http://w3imagis.imag.fr/Publications/2001/PCP01/long.mpg

2D Strips

• “A Simple Physics Model to Animate Human Hair Modeled in 2D Strips in Real Time”
• C. K. Koh, Z. Huang
• Proc. of Eurographics Workshop on Animation and Simulation, 2001
• Group hairs into 2D strips represented as NURBS surfaces

Physics of Motion

• Dynamic equations are defined and solved for the control points of the surface
• Physics model used is same as previous examples

Setup of Hair

• Hair strands are represented in layers of strips overlaying each other to cover the head
• Surfaces are texture mapped with hair images
• Alpha map is used to define transparency

Setup of Hair

Collision Detection & Avoidance

• Hair strips and external objects (head)
• Ellipsoids used to represent head
• Similar to previous techniques
• Hair strips and other hair strips
• Use avoidance
• Springs between strips
• Spring force used for either repulsion or attraction.

Fi = Σ(-ks * xs)

Where ks is the spring constant and xs is the displacement from initial rest length, i is control point index, s is spring index

Results

NURBS

• NonUniform Rational B-Spline
• Powerful tool in representing free-form shapes and common analytic shapes
• Drawback
• User has to manually adjust multiple control points & associated weights in order to design shapes

NURBS

• Curve
• Combination of a set of piecewise rational functions with n+1 control points pi associated with weights wi
• Bi,k(u) are B-spline basis functions

• Assuming basis functions of degree k-1, NURBS curve has n+k+1 knots

Dynamic NURBS

• Dynamic NonUniform Rational B-Spline
• Physics-based models
• Brings time, mass, deformation energy into standard NURBS
• Create curves by applying simulated forces and local and global shape constraints

D-NURBS

• Curve
• Function of spatial parameter u and time t:
• Control points pi(t) and weights wi(t) are functions of time & are the generalized coordinates of D-NURBS

• Curve c(u,t) can be expressed as c(u,p) to emphasize dependence on vector p (which is a function of time)

Dynamic NURBS

• Incorporates dynamic behavior with geometric modeling for shape representation
• Replaces connected line segments to give hair smoother, more realistic appearance

Apply Forces

Simplified Representations

• Uses Levels of Detail (LODs) to speed up computation and rendering
• Three Representations:
• Patch: D-NURBS surface
• Cluster: Cylinders created with texture-mapped D-NURBS surfaces
• Individual Strands: D-NURBS curves

Simplified Representations

• All three representations follow the same basic skeleton model for dynamic behavior
• Change LOD based on number of criteria
• Distance to Camera
• Occlusion

Simplified Representations

Simplified Representations

Simplified Representations

References

• K. Anjyo, Y. Usami, and T. Kurihara.  A simple method for extracting the natural beauty of hair.  Computer Graphics, 26(2):111-120, 1992.
• T. Kurihara, K. Anjyo, and D. Thalmann.  Hair animation with collision detection.  In Models and Techniques in Computer Animation, pages 128-38.  Springer-Verlag, 1993.
• C. K. Koh and Z. Huang.  A simple physics model to animate human hair modeled in 2d strips in real time.  Proc. of Eurographics Workshop on Animation and Simulation, 2001.
• E. Plante, M. Cani, and P. Poulin.  A layered wisp model for simulating interactions inside long hair.  Proc. of Eurographics Workshop on Animation and Simulation, 2001.
• H. Qin and D. Terzopoulos.  D-NURBS: A physics-based framework for geometric design.  IEEE Transactions on Visualization and Computer Graphics, 2(1):85-96, March 1996.  ISSN 1077-2626.
Search more related documents:Hair and Fur Modeling