Hair Modeling and Animation - University of Illinois at Urbana

advertisement
Modeling Hair-Hair Interactions
Using Sparse Guide Hairs
Yizhou Yu
Joint work with
Johnny Chang and Jingyi Jin
Department of Computer Science
University of Illinois at Urbana-Champaign
Dynamic Hair Interactions
• Hair-Hair Collision
– Volumetric Appearance
– Computationally Expensive for >50,000 Hairs
• Adhesive Forces due to Cosmetics,
Interweaving, Static Charges
– Hairstyle Recovery after Minor Movements
• Hairs are hard to stretch, and interactions
become obvious when they are sufficiently
close.
Hair Simulation Using Sparse Guide Hairs
• Simulating Sparse Guide Hairs
– Single strand dynamics for each guide hair
– Simulating adhesive forces using static links
– Simulating hair-hair collisions using density modulated
triangle strips
• Dense Hair Simulation by Interpolation
– Hair interpolation happens at each frame.
– Fixed correspondences between dense hairs and guide
hairs to achieve temporal coherence
– Hair-object collisions are handled after interpolation for
each individual strand.
Guide Hair Modeling
• Modeling hair flows with vector
fields
Video: Guide Hairs
Related Work on Hair Animation
• Single Strand Dynamics
– Mass-Spring-Hinge Model
• [ Rosenblum et. al. 91 ], [ Daldegan et. al. 93 ]
– Cantilever Beam
• [ Anjyo et. al. 92 ]
– Multi-body Open Chain
• [ Hadap & Thalman 01 ]
• Hair-Hair Interactions
– Fluid-based Model
• [ Hadap & Thalman 01 ]
– Wisp-based Model
• [ Plante et. al. 01 ]
Hair Strand Dynamics
• Each hair strand is modeled as a rigid multibody open chain
• Forward Dynamics
– Featherstone’s algorithm or Lagrange’s equations for
generalized coordinates.
• Joint actuator force accounts for the bending
and torsional rigidity of the strand.
– Deviation from the resting position results in a nonzero
resisting actuator force.
• Hair-hair interactions are formulated as
external forces in addition to gravity.
Static Links
• Breakable Elastic Connections among Nearby
Guide Hairs
– Simulate the bonding effects formed when hair is in still
– Enhance hairstyle recovery after minor movements.
• Static links enforce neighborhood
configurations by exerting external forces onto
the hair strands.
Static Links as Positional Springs
• Introduce a local coordinate system to each segment
of the hair strands.
• Transform points on the nearby strands to the
segment’s local system and keep them as the
reference points.
• Forces are generated to recover the original relative
positions of these reference points.
Force from Static Links
• The accumulated force a segment receives due to
static links can be formulated as
– ks is the spring constant kd is the damping constant, v is the
time derivative of l, and
• A static link can be broken
when its length change
exceeds a threshold.
Dynamic Interactions
• Use of auxiliary triangle
strips to imagine the
space in between the set
of sparse guide hair
• Collisions between the
hair segments and the
triangle strips are
explicitly considered
Modeling Hair Density
• Every face on a triangle strip is associated
with a density value which can be zero.
– The length of the triangle edges serves as the indicator
for the hair density on a strip.
– If a triangle becomes too elongated, its density is
labeled as zero.
• Hair strands are allowed to go through sparse
or broken pieces of a triangle strip more easily.
Modeling Collision Forces
• Depending on the orientation of the
penetrating hair vertex and the triangular
face, the repelling spring force might vary.
• where a is the normalized tangential vector of the hair at
the penetrating vertex, b is the interpolated hair orienation
on the triangular face, λ is the scale factor
• The scale factor λ is adjusted according to the hair density.
Adaptive Hair Generation
• Generate additional
guide strands adaptively
on the fly to cover the
over interpolated regions
– Compare the distance
between two guide strands.
If the distance is too far, an
adaptive hair is inserted.
• Inserted guide hairs can
also be removed during
the simulation
Hair Interpolation
• Define a local coordinate system at each hair root
• Interpolate the transformed coordinates
n
v '   ( M 21M 1 ) vi  wi
i 0
translation
local coordinate
transformation
translation + rotation
Random Curliness I
• Editing Hairs with an
Offset Function
Random Curliness II
• Parametric Offset Function
– Variable magnitude + variable period
Wave(t) = Mag(t) sin( 2 ( Rt  P0 )t  0 )
Mag(t) = A + B t exp(- t) + C (1-exp(- t) + D exp( (t-t0 ))
Examples of Curly/Wavy Hair Models
Hair Rendering
Kajiya-Kay Illumination Model +
Adjustable Translucency
Video: Braided Hair
Video: Long Hair
Video: Short Hair
Video: Brush
Conclusions
• Hair mutual interactions are indispensable for
realistic hair simulations.
• We use sparse guide hairs to produce hair
motion, and densely interpolated hairs for the
final appearance.
• We propose to use static links to simulate
adhesive forces and enhance hairstyle
recovery, and density modulated triangle
strips for hair-hair collisions.
Download