Simulating and Rendering Wet Hair
Kelly Ward Nico Galoppo Ming C. Lin
University of North Carolina at Chapel Hill∗
Simulating the motion and appearance of hair has been an active
area of research in computer graphics due to its importance for
modeling virtual humans in various applications. Existing hair
modeling methods have focused primarily on capturing the basic
characteristics of dry hair. In the natural world, humans interact
with water every day and the physical behavior and appearance of
hair is drastically changed when it becomes wet.
As it is easy to observe the physical differences between wet
and dry hair on a real person, it is crucial to accurately model these
characteristics in a simulation. As hair strands absorb water, they
become heavier, they adhere more readily with nearby wet strands,
and they tend to look darker and shinier due to the presence of
water. Our hair modeling system captures these inﬂuences and is
able to adjust these properties dynamically as hair becomes wet.
2 Overview of Approach
Our hair modeling system relies on a dual-skeleton setup to capture
the various dynamic properties of hair. This dual-skeleton system
consists of a global-skeleton and a local-skeleton, which provide
the ability to decouple global and local motions of hair, allow-
ing us to capture additional hair motions and various hairstyles.
The global-skeleton accounts for the overall motion of the hair,
while the local-skeleton is positioned around the global-skeleton to
model a desired hairstyle. The rendered hair geometry is positioned
around the local-skeleton. Strands in close proximity with each
other are grouped together to follow the same dual-skeleton system,
capturing the natural clumping of strands found in nature. Circular
cross-sections are deﬁned at each node of the local-skeleton, deter-
mining the initial thickness of that section of hair. The individual
strands are then placed randomly within the conﬁnes of those cross-
We create a localized collision detection method that accurately
identiﬁes interactions between the hair and the body as well as
among the hairs by placing swept sphere bounding volumes (SSVs)
around the local-skeleton and rendered hair geometry. Our overall
dynamics model is able to capture the intrinsic properties of dry
hair and can dynamically adjust to changing physical properties as
the hair interacts with water.
2.1 Adjustment of Dynamic Properties
Hair strands can absorb up to 45% of its natural, dry weight in
water [L’O04]. This increased mass signiﬁcantly alters the physical
motion of wet hair strands. The global-skeleton controls the overall
motion of the hair and consists of node points connected by soft
springs. Each node point has a mass associated with it, representing
the mass of the hair at that point. The mass then becomes a function
of wetness, increasing until the fraction of wetness becomes 100%.
2.2 Flexible Geometric Structure
As hair becomes wet, it becomes less voluminous. Wet strands of
hair in close proximity adhere with each other due to the presence
of water, causing the overall volume of the hair to decrease. To
account for this behavior, when water is applied to the hair, the radii
of the hair sections decrease accordingly. The radius contraction is
directly related to the number of hair strands in that section of hair
and the percentage of water absorbed into the hair. The SSVs used
for collision detection also automatically adjust their form as water
is absorbed. Collision detection remains accurate and efﬁcient in
light of the changing geometric structure.
As noted by [JLD99], many materials become darker and shinier
due to the absorption of water. Hair acts in the same manner. When
hair becomes wet, a thin ﬁlm of water is formed around the ﬁbers,
forming a smooth, mirror-like surface on the hair. In contrast to
the naturally rough, tiled surface of dry hair, this smoother surface
creates a shinier appearance of the hair due to increased specular
reﬂections. Furthermore, light rays are subject to total internal re-
ﬂection inside the ﬁlm of water around the hair strands. This phe-
nomenon contributes to the darker appearance wet hair has over dry
hair [JLD99]. Moreover, water is absorbed into the hair ﬁber, in-
creasing the opacity value of each strand leading to more aggressive
We have captured the interactions of light with the wet strands
by varying the rendering parameters based on the amount of water
present on the hair. Speciﬁcally, using standard anisotropic lighting
[HS98] and hair shadowing [KN01] techniques, we make the opac-
ity, shininess value, and anisotropic lighting contribution a function
of the wetness percentage. As the wetness factor varies between 0%
and 100% the parameters vary directly, creating a damped or wet
look for the hair strands.
We presented several simple yet efﬁcient techniques for simulating
and rendering wet hair. Our system is able to capture the altered
motion, physical structure, and rendered appearance of hair when
it gets wet. These methods can be applied dynamically to hair to
model changing wetness of hair over time. Our results are consis-
tent with the inﬂuences of water demonstrated on real hair. Figure
1 shows a visual comparison between simulated wet vs. dry hair.
Please refer to the supplementary document and videos for addi-
tional images and demonstration.
Figure 1: Long, curly, red hair blowing in the wind (a) dry and (b)
HEID RIC H W., SEIDE L H.-P.: Efﬁcient rendering of anisotropic surfaces using com-
puter graphics hardware. Proc. of Image and Multi-dimensional Digital Signal
Processing Workshop (IMDSP) (1998).
JENS EN H. W., L EGAK IS J. , DORS EY J.: Rendering of wet material. Rendering
Techniques (1999), 273–282.
KIM T.- Y., NE UMAN N U.: Opacity shadow maps. Proc. of Eurographics Rendering
L’ORE AL: http://www.loreal.com, 2004.