DOPNET Guide for Houdini
- Sammy Lyu

- Jul 31
- 3 min read
Updated: Sep 16
Elements of the DOPNET and how to use them effectively
As of writing, my Houdini version is 20.5.614
Mutual affector relationship for merging RBDs
When merging RBD objects into something like a rigidbodysolver, make sure the affector relationship is "mutual" so that all RBD objects interact with each other correctly without one geometry exerting control over the other.
Alternatives for "use deforming geometry" for static object imports Instead of activating deforming geometry, which could require more computing power. Try selecting the geometry you want using the OBJ Path and activating "Use object transform" instead to bring in the animation. This method only works if the transforms are at obj level of the geometry, not at SOP level.
Gas values like disturb and turbulence in DOPs In the DOPNET, to add disturbance or turbulence to a smoke simulation. You need to utilise the gas disturb and gas turbulence DOPs. Similarly, there are DOPs for values like dissipation, shredding, buoyancy, wind, viscosity, etc.
Temperature diffusion for DOPNET pyro solver
The temperature diffusion value creates a blur factor for temperature so the edges of the temperature can seem softer and more expanded. This can sometimes be beneficial to the look of a heat source, as it allows the heat to feel like it is slowly expanding.
POP AXIS FORCE to create directional forces
The POP AXIS FORCE DOP allows us to generate a force in a certain axis direction. This is useful for when you want to add more force in a certain direction to create more dynamic movements for simulations like RBD or FLIP.
Creation frame adjustment for RBDPACKEDOBJECT
In the RBDPACKEDOBJECT node, make sure you change the CREATION FRAME to $FF to make sure the geometry is sampled on EVERY FRAME instead of the start frame alone.
Creation frame adjustment for RBDPACKEDOBJECT
In the RBDPACKEDOBJECT node, make sure you change the CREATION FRAME to $FF to make sure the geometry is sampled on EVERY FRAME instead of the start frame alone.
SCALAR and FLOAT values in VOLUME SOURCING
In volume sourcing, the SCALAR value is identical to a FLOAT, so DENSITY would be considered a SCALAR because it is a FLOAT.
Smoke and dust simulations using DOPNET pyro solver
When using a pyro solver but NOT dealing with fire, for example you want to create dust or smoke. It is a good idea to TURN COMBUSTION OFF and only work on the shaping. This is because combustion deals with the fuel attribute, which is not sourced in a smoke or dust sim.
Same goes for SHREDDING attribute, this usually affects fire not smoke.
SUBSTEP settings in pyrosolver when using collisions
When using SUBSTEPS with collision volumes or geometry, make sure you tick "Re-evaluate SOPs to interpolate geometry" on the static object or RBD object (collision) as this allows the collision to solve in substeps and not whole frames.
If this option is left unticked, the collision will solve in $F not $FF.
Using BOUNDING BOX as a collision object
When using bounding boxes for smoke and pyro to dictate BOUNDS, you can choose the CLOSED BOUNDARIES option to have the volume collide with the bounds. YOu can also select which axis you'd like for collision to happen on and which axis to deactivate. The options are: [+X , -X, +Y, -Y, +Z, -Z]
MIN / MAX VALUES when using DOP IMPORT FIELDS
The DOPIMPORTFIELDS node can also "Compute Min/Max Values" which will give the minimum and the maximum value of each rasterized attribute such as heat, density or temperature. Useful for clamping intensity values for shaders.
Referencing DIRECT INPUTS of a DOPNET with VEX
Usually a DOP object can reference geoemetries from the 4 inputs of the DOPNET using “context geometries”, but if that option is not available, for example in “Vellum source”, we can instead use the expression:
`opinputpath(“..”,0)
This tell the source to look at the first input of the DOPNET for the reference geometry. “0” means first input, “..” means two level up.