Game Development Reference
response. Figure 12.3 demonstrates this. This is a more consistent treatment of
the different types of constraints. Since it is a constraint, it feels right to group it
with the collision and distance constraints. A cache-friendlyway of implementing
this is via a callback.
12.6 Conclusion, Results, and Future
This technique has been successfully used to simulate character's articles of cloth-
ing, from shirts to skirts, at real-time rates. With modern consoles, simulating
clothing composed of particles spaced two to four centimeters apart at interactive
rates is achievable, given a reasonable computational budget.
There are two major drawbacks to this simulation technique: the limited range
of materials it is possible to simulate and the high CPU cost. More sophisticated
cloth solvers can model a wider range of cloth with superior fidelity [Baraff and
Witkin 98]. However, their performance is orders of magnitude worse and the sta-
bility characteristics are not able to handle the stresses of a fast-moving computer
Collision detection is the performance bottleneck of our system. If a stable
integration technique that worked on the velocity level could be utilized, the per-
formance problems with our system would disappear. An integrator that allowed
us to change velocity rather than position during our constraint update would only
require one collision pass each frame rather than several, as we currently must do.
Research into such a system may yield a better solution than has been previously
This article should be viewed not as the best way to simulate real-time cloth
but as a collection of suggestions you can take and expand upon.
[Baraff and Witkin 98] D. Baraff and A. Witkin. “Large Steps in Cloth Simula-
tion.” In Proceedings of the 25th Annual Conference on Computer Graphics
and Interactive Techniques , pp. 43-54. New York: ACM Press, 1998.
[Bridson et al. 03] R. Bridson, S. Marino, and R. Fedkiw. “Simulation of
Clothing with Folds and Wrinkles.” In Proceedings of the 2003 ACM
SIGGRAPH/Eurographics Symposium on Computer Animation , pp. 28-36.
Aire-la-Ville, Switzerland: Eurographics Association, 2003.