Houdini 17.5 Nodes VOP nodes

UV Space Change VOP node

Performs various space conversions of 3D positional data for uv shading purposes.

This node type is deprecated. It is sceduled to be deleted in an upcoming revision of Houdini.

Use the Transform node instead.

(Since version 11.0.)

This operator performs various space conversions of 3D positional data for uv shading purposes. The available space conversions are:

Texture                       (string value "texture")
Object                        (string value "object")
Normalized Device Coordinate  (string value "ndc")
World (Unchanged)             (string value "world")

The Texture option takes a position in world space and converts it to shader space. The Object option takes a position in world space and converts it to object space. The NDC option takes a position in world space and puts it in the normalized device coordinate space (screen space). The World option leaves the incoming data untouched.

The output of this operator is typically connected to a Parameter node bound to the rest attribute, or to a modifier node such as UV Transform or Anti-Aliased Noise.

If the position (P) input is not connected, the global variable by the same name will be used instead.


The following examples include this node.

DiffuseSmoke Example for Gas Diffuse dynamics node

This example demonstrates how to diffuse the density of a smoke simulation using the Gas Diffuse DOP.

CurveForce Example for POP Curve Force dynamics node

This example demonstrates the use of the POP Curve Force node to control the flow of a particle sim AND a flip fluid sim.

Down Hill Lava Flow Example for Material shader node

In this file we create a downhill lava flow with crust gathering and hardening at the base of the slope. All of the animation is achieved through the shader itself, and all of the geometry is completely static.


Most of the parameters for the lava material are overridden by point attributes created in the surface nodes.

FirePit Example for Material shader node


No geometry is animated in this file. All animation is achieved by animating the textures

Flames are grids so that UV textures can easily be applied, they are then warped around a metaball using a magnet SOP. The flames are then assigned to either a yellow or blue Flames texture. The Flames' opacity mask wrap is set to Decal to prevent the texture from repeating and showing a single pixel ring at the top of the flame geometry. I'm also using a mask file named flameOpacMap.jpg to enhance the flames' shape at the top. The noise offset has been animated over $T with an greater emphasis on the Y axis so that the flames look like they are rising. This is the same reason the Noise jitter is larger for the Y axis as well.

The coals are spheres that have been copy stamped onto a deformed grid. Using Attribute Create surface nodes I am able to override and copy stamp the lava texture’s parameters at the SOP level so that local variables, such as $BBY, can be used to animate the texture. This way the texture’s crust and its crust values can be used only to form the tops of the coals. This reserves the lava aspect of the texture to be used on the bottoms of the coals. The lava intensity (Kd attribute) is then stamped and animated to create the look of embers on the bottom of coals glowing.

RandomMaterial Example for Attribute String Edit geometry node

This example demonstrates how to use the Attrib String Edit SOP to modify String primitive attributes and randomize the colours on a grid on a per-primitive basis.

See also

VOP nodes