Graphics Reference
In-Depth Information
Special attention to bending can make a cloth simulation more efficient and more realistic. These issues
are discussed in the following paragraphs.
Typical simulations of cloth use explicit, or forward, Euler integration, especially for real-time
applications because it is fast to execute and easy to implement. But because of the stiffness encoun-
tered in cloth simulations, which explicit Euler integration does not handle well, other integration
schemes have been used, especially for off-line applications. Implicit Euler is used but, because it
is iterative, it tends to be too computationally expensive for real-time or interactive applications. How-
ever, it does provide a more stable simulation for the stiffer models. Semi-implicit Euler integration has
been used with success. This integration technique is easy to implement, is fast to execute, and handles
stiffness fairly well. See Appendix B.8 for details.
In modeling cloth, controlling stretching is a primary concern. When cloth is pulled, there is typ-
ically some initial stretching that occurs as the weave straightens out, but the cloth soon becomes very
stiff and resistant to further stretching. If the cloth is modeled using a basic mass-spring-damper sys-
tem, the pulled cloth will not become stiff and will continue to stretch in unrealistic ways because of the
linear response inherent in the spring-damper equations. This is referred to as super-elasticity. This
pulling can simply be the result of gravity as it pulls down on all the mass points of the cloth model
when the cloth is suspended along one edge. To prevent this super-elasticity of the cloth model, either
very stiff springs must be used, requiring very small time steps and limiting the amount of initial
stretching, or some nonlinear effects must be captured by the model. Approaches to prevent super-
elasticity include biphasic springs and velocity clamping. Biphasic springs are springs that respond
differently to large displacements. Under small displacements, they allow the initial stretching, but
at a certain displacement, they become very stiff. This still requires small time steps at large displace-
ments. Velocity clamping limits the velocity of the mass points due to spring response and thus is a
kinematic solution to controlling vertex displacement.
One of the major activities of cloth animation is to detect and respond to collisions. Especially in
real-time environments, the efficient detection and response of collisions is a primary concern where
computational shortcuts are often worth sacrificing accuracy. There are two types of collision: self-
collision and collision with the environment. These two can be handled separately because knowl-
edge about the cloth configuration can help in processing self-collisions. Collisions with cloth are
handled much like collisions with elements of any complex environment; that is, they must be han-
dled efficiently. One of the most common techniques for handling collisions in a complex environ-
ment is to organize data in a hierarchy of bounding boxes. As suggested by DeRose, Kass, and
Truong [ 29 ] , such a hierarchy can be built from the bottom up by first forming bounding boxes
for each of the faces of the cloth. Each face is then logically merged with an adjacent face, forming
the combined bounding box and establishing a node one level up in the hierarchy. This can be done
repeatedly to form a complete hierarchy of bounding boxes for the cloth faces. Care should be taken
to balance the resulting hierarchy by making sure all faces are used when forming nodes at each level
of the hierarchy. Because the cloth is not a rigid structure, additional information can be included in
the data structure to facilitate updating the bounding boxes each time a vertex is moved. Hierarchies
can be formed for rigid and nonrigid structures in the environment. To test a vertex for possible col-
lision with geometric elements, compare it with all the object-bounding box hierarchies, including the
hierarchy of the object to which it belongs. Another approach takes advantage of the graphics process
unit's on-board z -buffer to detect an underlying surface that shows through the cloth and, therefore,
indicates a collision [ 30 ].
Search WWH ::




Custom Search