= How to |> create rigid bodies = == Overview == Rigid bodies are simulated objects. Houdini simulates their motion and collisions with other simulated objects as if they were hard, solid objects (as opposed to other types of simulated objects such as fluids, cloth, and soft bodies). The procedure for creating a simulated rigid body is straightforward. # [Model|/model] a [geometry object|/model/objects] containing the geometry you want for the rigid body. # [Select|/basics/select] the object. # On the [Rigid bodies|/shelf/rigidbodies] tab of the shelf, click one of the tools below to automatically create the dynamics nodes to put the object under simulation control. The [Icon:DOP/groundplane][Ground plane|Node:dop/groundplane] tool doesn't require that you select a geometry object first, it just creates a static ground plane object at the origin for you. == Tools for creating rigid bodies == The tools on the [Rigid bodies shelf tab|/shelf/rigidbodies] let you create and constrain rigid body simulation objects. [Icon:DOP/rbdobject] [RBD Object|Node:dop/rbdobject]: Creates a rigid body dynamic object from a [geometry object|/model/objects]. [Icon:DOP/rbdfracturedobject] [RBD Fractured Object|Node:dop/rbdfracturedobject]: Creates a number of rigid body dynamic objects from a [geometry object|/model/objects]. The individual RBD objects are created from [primitive groups|/model/groups] you create beforehand in the geometry. You can either cut up the geometry manually, or use the [Break|Node:sop/break] or [Shatter|Node:sop/shatter] tools on the [Model shelf tab|/shelf/model]. This tool is useful to simulate an object shattering, since it does not require much force to break the object apart. [Icon:DOP/rbdglueobject] [RBD Glue Object|Node:dop/rbdglueobject]: Creates a number of rigid body dynamic objects from a [geometry object|/model/objects]. Like the RBD Fractured Object, this tool breaks the geometry into pieces according to [groups|/model/groups], with each piece being an independent RBD Object. This tool also _glues the pieces together_. Whereas the pieces created by RBD Fractured Object are loose and will fall apart easily, the pieces created by this tool are held together by the glue strength and will only come apart when sufficient force is applied. [Icon:DOP/staticobject] [Static Object|Node:dop/staticobject]: Creates a _static_ rigid body object from a [geometry object|/model/objects]. A static object participates affects other objects in the simulation (for example, other objects can bounce off it), but its motion is not controlled by the simulation -- it does not bounce off other objects, or fall according to gravity, or move at all unless you animate it. This is useful for creating rigid objects that are extremely heavy or should will not move in your simulation, such as a table on which other objects sit. [Icon:DOP/rbdpointobject] [RBD Point Object|Node:dop/rbdpointobject]: Creates a new simulation object _at each point_ of a source [geometry object|/model/objects], similarly to how the [Copy surface node|Node:sop/copy] works. This is useful for simulating a large collection of identical objects, such as a pile of cans in a grocery store or a forest of trees. [Icon:DOP/groundplane] [Ground Plane|Node:dop/groundplane]: Creates an infinite ground plane suitable for RBD, cloth, or wire simulations. The ground plane is a type of _static_ rigid body (see Static Object above). [Icon:DOP/terrainobject] [Terrain Object|Node:dop/terrainobject]: Creates a terrain object from a [geometry object|/model/objects]. The terrain object is a type of _static_ rigid body (see Static Object above). Whereas the Ground Plane tool creates a perfectly flat static ground object at the origin, this tool lets you select a 3D surface (for example, a deformed [grid|Node:sop/grid] representing terrain) and automatically turn it into a suitable static ground object. Unlike the Ground Plane, which is infinite, the simulation object created by this tool is only as big as the original geometry. == Rigid body constraints == There are also several constraints you can use with rigid body objects. For more information see the following: * [RBD Pin Constraint|Node:dop/rbdpinconstraint] * [RBD Hinge Constraint|Node:dop/rbdhingeconstraint] * [RBD Spring Constraint|Node:dop/rbdspringconstraint] * [RBD Angular Constraint|Node:dop/rbdangularconstraint] * [RBD Angular Spring Constraint|Node:dop/rbdangularspringconstraint] * [Parent Constraint|/shelf/parentconstraint] @related - [Dynamics|/dynamics] - [Rigid body dynamics|/dynamics/rbd_solver]