Graphics Reference
In-Depth Information
1.2 Simulation Overview
When TressFX simulation was developed, the main focus was to simulate styled
hair, which is much harder than straight hair because it requires strong bending
and twisting effects. Regardless of hair style, it should be safe to consider human
hair as inextensible. To simulate those three effects, there are generally two ways
to represent them, as either stiff spring or constraint.
In VFX, stiff spring is commonly used for various simulations such as hair
or cloth. However, for real-time physics simulation, stiff spring is not practical
because the integration of strong spring force can easily make the mass-spring-
damper system unstable unless a complicated integration scheme such as implicit
backward integrator is used [Baraff and Witkin 98,Selle et al. 08]. Also, it becomes
hard to deal with stretching, bending, and twisting springs in the same solver,
especially in GPUs. In TressFX, all springs are replaced with hard and soft
constraints. For inextensibility, we use a simple iterative position-based distance
constraint. Bending and twisting are considered as a single effect for simplicity,
and local and global shape constraints were developed. We also sometimes resort
to ad-hoc constraints to deal with fast-moving characters.
Besides bending and twisting effects, the rest of hair simulation is similar
to cloth simulation. However, in terms of GPU computing, hair has more ben-
efits because there are a lot of hair strands and they are independent as long
as inter-hair collisions are ignored. Also the topology of vertex connection is
straightforward. By exploiting them, TressFX can achieve strand- and vertex-
level parallelism without complex data structure.
Input : hair data
precompute rest-state values;
while simulation running do
integrate;
apply Global Shape Constraints;
while iteration do
apply Local Shape Constraints;
end
while iteration do
apply Edge Length Constraints;
end
apply wind;
collision handling;
update position;
pass updated vertex buffer to rendering pipleline;
end
Algorithm 1.1. Hair simulation outline.
Search WWH ::




Custom Search