= RBD simulations = == Overview == The [RBD solver|Node:dop/rbdsolver] simulates _rigid bodies_, solid objects that don't change shape, as they collide with other objects. RBD stands for _rigid body dynamics_. RBD objects can be _active_ and _passive_. Active objects are affected by forces and collisions. Passive objects can be collided with by active objects, but don't move, and are not affected by forces. See [relationships|relationships] for how to make cloth interact with other objects. See also [how to switch between keyframe animation and simulation|keyactive]. == Shelf tools == The [Rigid Bodies shelf tab|/shelf/rigidbodies] contains tools for creating and constraining RBD objects. You can also use the [forces|forces] on the [Drive simulation shelf tab|/shelf/drivesimulation] to affect the objects. == Important nodes == - [RBD Object|Node:dop/rbdobject] - [RBD Solver|Node:dop/rbdsolver] == Important RBD Object parameters == Use deforming geometry: For efficiency, the dynamics engine does not use animated geometry by default. To have the RBD object use animated geometry, set __Use animated geometry__ to `1` in the RBD Object's parameters. You can animate the value of this option, so you can only use animation in the time periods where it matters, and switch back to static geometry in other places for efficiency. Number of objects: # In an RBD Object's parameters, set the __Number of objects__ parameter. The RBD object node creates multiple copies of the object, but creates them at the exact same position, so they overlap and still appear to be one object. You need to use an expression in the object's __Position__ parameter to space them out. # In the __Position__ parameter (on the __Initial State__ tab), enter an expression that uses the `$OBJ` ("object number") local variable to position the copies. For example, use `$OBJ * 2` in the __Position X__ field to space the copies 2 units apart along the positive X axis. The expression is evaluated for each copy with $OBJ set to the current copy number.