9

Constraint Concepts 725
Angular Dashpot (page 2–732)
Cooperative Constraints (page 2–735),which
includes the following topics:
Constraint Solver (page 2–736)
Rag Doll Constraint (page 2–737)
Hinge (page 2–747)
Point to Point (page 2–750)
Prismatic (page 2–754)
Car-Wheel (page 2–757)
Point to Path (page 2–762)
Constraint Concept s
This section introduces some common concepts
that you’ll need to understand to work with any of
the reactor constraint types.
Const ra i nts, Si mple Constr a ints and
Co operat ive Constraints
You use constraints in reactor to specify limitations
in the movements of objects. Without constraints,
the movement of objects could be limited only by
collisions and deformations. This is the case in
the real world: For example, a do or’s movement
is limited by a set of pieces that form a hinge;
the collisions between those objects limit the
movement of the do or. The motion of t wo objects
attached by a spring is limited by the deformation
ofthespring.Atraincanmoveonlyalongthepath
defined by a rail due to the collisions of its wheels
w ith the rail. In many cases, though, it is preferable
to specify explicitly the effect of those objects
(hinge, spring, rail) rather than model them and
simulate them. This is w hat constraints are for.
Aconstraintletsyoulimitthewayanobjectcan
move. Once you specify a constraint, reactor tries
to enforce it during the simulation. For example,
you can use a Hinge (page 2–747) constraint to
simulate the effect of a n actual hinge on an object:
No translation is allowed, and rotation is allowed
around only one axis. Similarly, you can use a
Spring (page 2–727) constraint to simulate the
effect of a spring (translat ion is limited to a cer tain
length); or a Point-Path (page 2–762) constraint
to simulate the effect of a rail (translation and
orientation are limited to follow a path).
Sometimes you will have a system of many objects
constrained together. For example, if you want
to simulate a character falling down the stairs,
you might constrain the different b ones of the
character using many constraints (like Rag Doll
(page 2–737) or Hinge (page 2–747)). B ecause
all the bodies are connected, maintaining one
constraint may affect the other constraints, so it
is better if they are simulated together, so they
are aware of each other. Thus, some constraints
require you group them so they can be solved as a
system. Those constraints are called Cooperative
Constraints (page 2–735) and are usually more
stable, although they can be slightly slower to
simulate. The other constraints, Simple Constrains
(page 2–727), cannot be g rouped and therefore are
more prone to instability in complex scenes, but
are faster to simulate.
Constraint Spaces
In rigid body dynamics, each body has six degrees
of freedom to move:
three translational deg rees of freedom
three rotational degrees of freedom
Each type of reactor constraint can remove or
limit one or more of these degrees of freedom for
its constrained bodies.
Depending on the number and type of these
limitations, we get different types of constraint,
from the simple Point-Point (page 2–750)
constraint to the much more complicated Rag
Doll (page 2–737) constraint. For example, with
a Point-P oint constraint, the constrained objects