Houdini 17.5 Nodes VOP nodes

Spline VOP node

Computes either a Catmull-Rom (Cardinal) spline or a Linear spline between the specified key points, given an interpolant (u) in the domain of the spline.

On this page

This operator computes either a Catmull-Rom (Cardinal) spline or a Linear spline between the specified key points, given an interpolant (u) in the domain of the spline. The result is a 1D, 3D, or 4D value representing u’s image on the spline.

The Cardinal keys are uniformly spaced over the range 0 to 1. Because of the nature of the Cardinal spline, the value associated with the first and last keys will never be returned. However, these keys are used to determine the shape of the curve on entry and exit. If you want the spline to reach its end points, connect the first key and last key twice. See the Fire operator for one such example.

If you are blending only two vector types using the Cardinal interpolant, the Color Mix operator offers the convenience of fewer connections. Make sure, however, that you choose the Smooth With Cardinal Spline option to obtain the exact same results as with this operator.

The Linear spline interpolation is equivalent to a sequence of Linear Interpolation operators. Consider the simpler Mix operator if only two inputs are required.



Catmull-Rom (Cardinal) or Linear.


Parametric Coordinate

Interpolant (u) representing the parametric location in the domain of the spline where to evaluate the spline.

Input Number 1…N

1D, 3D or 4D spline key points to interpolate.

Next Input

Where the next key value should be connected. Up to 64 inputs can be specified.


Combined Value

Interpolated spline location.


The following examples include this node.

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.

See also

VOP nodes