Hair Simulation
Final: May 10, 2002
Kelly Ward
Updated Hair Research Information, through 2005
Powerpoint Presentation
Overview
With the following framework in place, there are still a number of ways to improve
the performance of the simulation as well as make the hair modeled look more realistic. In
order to add to the realism of the hair simulation, an interactive hairstyling tool was
created in order to make a wider variety of hairstyles in an intuitive and easier manner than
had previously been done. Also, friction was added to the simulation during collision detection
with the head so that the hair no longer appeared to slide along the head. Instead, the hair
moves in a much more natural way around the head.
One of the most expensive calculations to perform is collision detection for the hair
since there are so many hairs on a human head. The collision detection between the hair
and the head was improved which is explained in the section on hair-head
collision detection below. Also, hair-hair collision detection
is added to the simulation.
Hairstyling
Moreover, the user can save a hairstyle so that it can be loaded again later. The
ability to load old hairstyles onto a model makes creating new hairstyles even easier.
The user can load an old hairstyle and then add more hair sections to the model or
change the parameters of the existing hair. Therefore, a style that was short and straight
can quickly become long and curly.
In addition, the user can control certain level of detail parameters. The user can specify
if certain sections of hair should not fall below a certain LOD (such as around the part of
the hair where more detail is desired) or that a certain section of hair should not go
above a certain LOD (if the hair is at the bottom of the head and will not be seen much).
Collision Detection
Other Work
When the hair was adjusted to follow the motion of the head it
became apparent that the hair appeared to slide around the head. As the head moved, the
hair appeared to remain in one place. Frictional forces were added to the simulation
in order to make the hair move in a more realistic manner. When the hair collides with
the hair, a frictional force is calculated and added to the hair. The frictional force
is calculated by using the normal direction of the head at the point where the hair is
contacting it and finding the plane tangent to the head at that point. Then, all of the
forces that are acting on the hair are summed and projected on the plane. The frictional
force is then applied in the opposing direction as that force since friction opposes
the motion of an object. The result is a much more realistic looking motion to the hair.
When the head moves, the hair seems to be pushed by the head as opposed to sliding
frictionlessly around it.
Future Work
Simulating hair is a costly computation due to the complex nature of hair. The cost
of performing this simulation is improved by using simulation levels of detail. The
hair is represented as one of three representations. The coarsest level is a patch
representation, which is modeled as a Dynamics NURBS (D-NURBS) surface. Next is the
cluster representation, which is a generalized cylinder that is covered by a D-NURBS
surface. And the finest representation is to model individual strands as D-NURBS
curves.
An interactive hairstyling tool was created in order to make the creation of
different hairstyles easy and intuitive. Normally the creation of a hairstyle was
a long and tedious process of hardcoding the root positions of the hairs onto the
head. Now, a user can click onto any model and place the hairs where they are desired.
Furthermore, the user can easily specify certain parameters that control the hairstyle.
These include the length of the hair, style (straight, wavy or curly), as well as the
angle of a curl and tightness of the curl by specifying the segment length between
each control point that defines the curl or wave. Also, the user can define the
placement of a part by specifying the way sections of hair will fall in the hairstyle.
Figure 1: Different hairstyles created with hairstyling tool.
In addition to the hairstyling and collision detection work that has been done, there was
also work done to incorporate head motion into the hair simulation. Actual head movement
data was added using a head-tracking device. Once this motion was gathered and fed into
the program to have the head move according to its data, the hair motion had to be moved
to follow accordingly.
There are many ways that the hair simulation can be extended. A number of ideas
for future work in this area are:
|
http://www.cs.unc.edu/~wardk/ wardk@cs.unc.edu |