Houdini 16.5 Nodes VOP nodes

Random VOP node

Generates a random number based on the position in one, three, or four dimensions.

This operator generates a random number based on the position in one, three, or four dimensions. Unlike the noise functions, which smoothly interpolate the random values between integer lattice points, this random number generator does not. Each number is in the [0..1) range.

In the Signature parameter refers to the types of the inputs and outputs. Color and vector are 3 floats, and points are four floats.


This VOP only produces different numbers for each integer value of the input, not for each float value like the VEX hscript_rand does.

Turning off the Clamp Position to Integer Values will give different results for different inputs, but be warned that very small floating point differences will then have big changes in the result.


The following examples include this node.

CrowdHeightField Example for Crowd Solver dynamics node

This example demonstrates using heightfields for terrain adaptation in the crowd solver, and for collisions against ragdolls in the Bullet solver.

Stadium Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a stadium setup

The setup creates a stadium crowd. The rotating cheer_bbox object is used as a bounding box for the agents. When they are inside it it will trigger a transition from a sitting to a cheering state. After a few seconds the cheering crowd sits back down by transitioning into a sitting state.


The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.


To only see a section of the crowd for quicker preview there’s a switch node in /obj/crowdsource/switch_all_subsection. When 0 it will show all agents, when set to 1 will only show a small section.


This example simulates grass being pushed down by an RBD object. Fur Objects are used to represent the blades of grass and Wire Objects are used to simulate the motion. When a single Fur Object is used to represent the grass, neighbouring blades of grass will have similar motion. Additional objects with different stiffness values can be used to make the motion less uniform. When "Complex Mode" is enabled, two objects are used to represent the grass. The stiffness of each set of curves can be controlled by adjusting the "Angular Spring Constant" and "Linear Spring Constant" parameters on the corresponding Wire Objects.

FurBall Example for Fur geometry node

This example demonstrates how the Fur SOP builds hair-like curves based on guide curves and skin geometry.

FurBallWorkflow Example for Fur geometry node

This example demonstrates how the Fur SOP and Mantra Fur Procedural can be applied to an animated skin geometry. CVEX shaders are used to apply a custom look to the hairs based upon attributes assigned to the geometry.

FurPipelineExample Example for Fur geometry node

This example illustrates how custom shaders can be used to define the appearance of fur generated by the Fur SOP.

Shaved Example for Fur geometry node

This example demonstrates how to use a texture to control hair density.

PaintPoints Example for Paint geometry node

This example demonstrates how to paint scattered points onto the surface of your geometry with a set number of points per area.

pscaleVOPSOP Example for Add Attribute VOP node

I attached a file that shows various ways to create the pscale attribute. It uses three key nodes: 1) Property POP to add pscale 2) Point SOP to add pscale 3) a VOP SOP to add pscale (that is tricked out to also do random offsets)

RampParameter Example for Parameter VOP node

This example shows how to control the particle colours using the temperature attributes from a pyro simulation using a Ramp Parameter VOP node.

See also

VOP nodes