The simplest way to make fast rigid body simulations is to simplify your geometry. You can do this by using a Polyreduce on your geometry and making it an RBD Object, by creating bounding geometry and using either the RBD or the ODE solver, or by decompositing your geometry and using the ODE solver.
Note
ODE stands for Open Dynamics Engine. It is now fully integrated into Houdini and can support constraints.
Polyreduce method
You can use the Polyreduce tool on your geometry which will reduce the number of polygons in a model while attempting to preserve its shape as much as possible. This will speed up the simulation.
Create your model in a geometry object at the object level.
Create a second geometry object and use an Object Merge to copy the original geometry to it.
Use the Polyreduce tool to reduce the number of polygons in the model.
Turn the new geometry object into an RBD Object.
Below are screen captures of a rubber ducky before and after using the polyreduce tool.
Once you simulate the polyreduced geometry, you can instance the original geometry at render time.
Bounding box method
You can replace your original geometry with bounding boxes to create faster simulations. This method works both with the RBD solver and ODE solver. You can choose which Solver Engine to use on the Rigid Body Solver node in the AutoDopNetwork. The ODE Solver is more useful for this method because of its quick processing speed for simple shapes.
This method is useful for simple shapes, but is not very accurate for complex geometry such as the rubber ducky. Below are screen captures of a rubber ducky before and after using the bounding box method. Using this method with this specific geometry could cause collisions to appear inaccurate at close range, but would work well with rectangular objects.
Create your model in a geometry object at the object level.
Create a second geometry object and use an Object Merge to copy the original geometry to it.
Add a delete node to your network to remove the original geometry, and add a bounding box to replace it.
Turn the new geometry object into an RBD Object.
Once you simulate the bounding box, you can instance the original geometry at render time.
Decomposite method
You can turn your model into a composite object, and then use bounding boxes and the ODE solver to simulate. This will allow you to create a fast simulation and then instance the original geometry at render time.
Create your model in a geometry object at the object level.
Create a second geometry object and use an Object Merge to copy the original geometry to it.
Use Group Geometry SOPs to isolate the different parts of your model.
Add Delete nodes to your network to remove the original geometry, and add bounding boxes to replace the parts.
You can use a Merge SOP to merge all of the pieces of your composite object.
To make a composite object work with the ODE solver, you must complete the network with a Bake ODE node.
Return to the
object level, and turn your geometry object into an RBD Object.
Dive into the AutoDopNetwork and select the RBD Object node. On the ODE Primitive subtab of the Collisions tab you can turn on the Display ODE Primitive checkbox and set the Object Type to Composite.
Note
You should also turn off the Use Volume Based Collision Detection on the Collisions tab since ODE has its own collision detection.
On the Rigid Body Solver change the Solver Engine from RBD to ODE.
Once you simulate the ODE composite object, you can instance the original geometry at render time.