Houdini 16.5 Nodes Object nodes

Null object node

Serves as a place-holder in the scene, usually for parenting. this object does not render.

On this page

The Null Object serves as a place-holder in a scene, and does not render. It can be used to designate a place in the space of your scene, or as a "look at" object to help coordinate a camera’s movement and field of view.

The Null Object is also used as an End Affector for constructing chains of bones. Its parameters are similar to those of the Geometry Object’s Transform and Miscellaneous tabs.

To change the null’s display geometry, go inside the node (Alt-click the icon in the network editor or select it and press I) and edit the SOPs defining its shape.

You can use the Null Object’s transform to define coordinate systems in either RIB or IFD renderings using the controls on the Render tab.

Placing a Null in the viewer

To...Do this

Place the null anywhere in the scene

  1. Click the Null tool on the Create tab.

  2. Move the cursor into the scene view.

    Note

    You can hold Alt to detach the null from the construction plane.

  3. Click to place the null anywhere in the scene view.

    If you press Enter without clicking, Houdini places the null at the origin.

Place the null at the origin

Press ⌃ Ctrl + on the Null tool on the shelf.

You can change the display, control type, and shading of the null on the Misc tab of the parameter editor.

Parameters

Transform

Transform Order

The left menu chooses the order in which transforms are applied (for example, scale, then rotate, then translate). This can change the position and orientation of the object, in the same way that going a block and turning east takes you to a different place than turning east and then going a block.

The right menu chooses the order in which to rotate around the X, Y, and Z axes. Certain orders can make character joint transforms easier to use, depending on the character.

Translate

Translation along XYZ axes.

Rotate

Degrees rotation about XYZ axes.

Scale

Non-uniform scaling about XYZ axes.

Pivot

Local origin of the object. See also setting the pivot point .

Uniform Scale

Scale the object uniformly along all three axes.

Modify Pre-Transform

This menu contains options for manipulating the pre-transform values. The pre-transform is an internal transform that is applied prior to the regular transform parameters. This allows you to change the frame of reference for the translate, rotate, scale parameter values below without changing the overall transform.

Clean Transform

This reverts the translate, rotate, scale parameters to their default values while maintaining the same overall transform.

Clean Translates

This sets the translate parameter to (0, 0, 0) while maintaining the same overall transform.

Clean Rotates

This sets the rotate parameter to (0, 0, 0) while maintaining the same overall transform.

Clean Scales

This sets the scale parameter to (1, 1, 1) while maintaining the same overall transform.

Extract Pre-transform

This removes the pre-transform by setting the translate, rotate, and scale parameters in order to maintain the same overall transform. Note that if there were shears in the pre-transform, it can not be completely removed.

Reset Pre-transform

This completely removes the pre-transform without changing any parameters. This will change the overall transform of the object if there are any non-default values in the translate, rotate, and scale parameters.

Keep Position When Parenting

When the object is re-parented, maintain its current world position by changing the object’s transform parameters.

Child Compensation

When the object is being transformed, maintain the current world transforms of its children by changing their transform parameters.

Enable Constraints

Enable Constraints Network on the object.

Constraints

Path to a CHOP Constraints Network. See also creating constraints.

Tip

You can you use the Constraints drop down button to activate one of the Constraints Shelf Tool. If you do so, the first pick session is filled automatically by nodes selected in the parameter panel.

Note

Lookat and Follow Path parameters on object nodes are deprecated in favor of Look At and Follow Path constraints. The parameters are only hidden for now and you can set their visibitily if you do edit the node’s parameter interface.

Render

Display

Whether or not this object is displayed in the viewport and rendered. Turn on the checkbox to have Houdini use this parameter, then set the value to 0 to hide the object in the viewport and not render it, or 1 to show and render the object. If the checkbox is off, Houdini ignores the value.

Output transform as render space (RIB/IFD)

If this parameter is turned on, then the transform of the null will be output to render scripts as a named transform space. As well, the pre-include and post-include will be enabled for inclusion into the render stream. Note that the display of the object must be turned on and the null must match the visible objects of the output driver.

Misc

Set Wireframe Color

Use the specified wireframe color

Wireframe Color

The display color of the object

Viewport Selecting Enabled

Object is capable of being picked in the viewport.

Select Script

Script to run when the object is picked in the viewport. See select scripts .

Cache Object Transform

Caches object transforms once Houdini calculates them. This is especially useful for objects whose world space position is expensive to calculate (such as Sticky objects), and objects at the end of long parenting chains (such as Bones). This option is turned on by default for Sticky and Bone objects.

See the OBJ Caching section of the Houdini Preferences window for how to control the size of the object transform cache.

Geometry Scale

Uniform scaling about the xyz axes.

Display

Whether to display only the icon, only the axis, or both.

Icon

Displays only the icon geometry.

Axis

Displays only the axis.

Icon and Axis

Displays both the icon and axis.

Control Type

Switches between the type of geometry to display.

Null

Displays null geometry (i.e. cross).

Circles

Displays circle primitives.

Box

Displays box primitive.

Planes

Displays plane primitives.

Null and Circles

Displays null and circle primitives.

Null and Box

Displays null and box primitives.

Null and Planes

Displays null and plane primitives.

Custom

If an input source is specified, this option will display the geometry of the input.

Orientation

Used in conjunction with circle or plane primitives. Determines which circles or planes to display.

All planes

Displays circle or plane primitives on the YZ, ZX and XY planes.

YZ plane

Displays a circle or plane primitive on the YZ plane.

ZX plane

Displays a circle or plane primitive on the ZX plane.

XY plane

Displays a circle or plane primitive on the XY plane.

YZ, ZX planes

Displays circle or plane primitives on the YZ and ZX planes.

YZ, XY planes

Displays circle or plane primitives on the YZ and XY planes.

ZX, XY planes

Displays circle or plane primitives on the ZX and XY planes.

Shaded Mode

Determines whether to display the primitives as shaded objects or as wireframe objects.

off

Displays primitives in wireframe mode.

on

Displays primitives in shaded mode.

Examples

The following examples include this node.

LookAtTargetAndOffset Example for Constraint Lookat channel node

The first example shows a LookAt constraint with a global Y axis up vector. The second example shows a LookAt constraint with its up vector driven by an object. The third example shows a LookAt constraint applied with Keep Position turned on. The CHOP Offset node, after the constraint, makes the object keep its orientation when the constraint is applied. You can use the LookAt Shelf Tool to recreate the examples.

DynamicLights Example for Dynamics channel node

This example demonstrates how to use the Dynamics CHOP to extract impact data from a DOPs simulation, and then modify the data to control lights in the scene.

Fetch Example for Fetch channel node

This is an example of the Fetch CHOP. Here the Fetch CHOP is used to import the tx, ty and tz channels from a null node.

SimpleIKSolver Example for IKSolver channel node

This example demonstrates how to use the IKSolver CHOP.

SimpleInverseKin Example for InverseKin channel node

This example demonstrates how to manually use the InverseKin CHOP. To create bone chains with inverse kinematics, it is easiest to use the Character > Bones shelf tool.

AnimationSequence Example for Sequence channel node

This example demonstrates how to take the animation from three separate objects, and sequence their animation into one animation on a fourth object.

SimpleTransformChain Example for TransformChain channel node

This example demonstrates an example usage of the TransformChain CHOP.

SimpleBlend Example for Blend Solver dynamics node

This example demonstrates how to use the Blend Solver. In this case the Blend Solver is used to blend between an RBD solution and a keyframed solution.

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.

Note

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.

Tip

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.

EqualizeFlip Example for Gas Equalize Volume dynamics node

This example demonstrates how the Gas Equalize Volume dop can be used to preserve the volume in a fluid simulation.

EqualizeLiquid Example for Gas Equalize Volume dynamics node

This example demonstrates how the Gas Equalize Volume dop can be used to preserve the volume in a fluid simulation.

ColorVex Example for POP Color dynamics node

This example shows three different ways to use VEXpressions in your POP Color node to color your particles.

LookatTarget Example for POP Lookat dynamics node

This interactive example demonstrates the use of the POP Lookat node. Hit play and move the green target handle around in the viewport. The cone particles will orient themselves towards the target as you move it around.

TransparentShadows Example for Light object node

This example shows how to configure transparent shadows with deep shadow maps. The scene includes a transparent grid which casts a shadow on the scene. The renderer used is micropolygon rendering.

HandleMuscle

This example demonstrates how to use the handle shape control mode in the muscle object to control and animate the shape of a muscle.

JiggleMuscle

This example demonstrates how to make a muscle jiggle in object space using a two point muscle.

rop_example_bakeanimation Example for Bake Animation render node

This example shows how to setup Bake Animation ROP to tranfer animation from a rig onto another while baking object constraints.

RampReference

This example demonstrates the use of ramps and referenced ramps which are animated over time.

AddItUp Example for Add geometry node

This network demonstrates the many uses of the Add SOP to build and manipulate geometry:

  • It is used to create points in space which can then be used to create polygons using designated patterns. These polygons can be open or closed. Futhermore, each point can be animated through expressions or keyframes.

  • It is used to both create points and grab points from other primitives. These points may be used in polygon creation.

  • The Add SOP may be utilized to create a polygon using points extracted from another polygonal object. A Group SOP allows for the creation of the point group that will be referenced by the Add SOP.

  • The Add SOP is used to create a polygon from a group of animated Null objects. An Object Merge SOP references the null points in SOPs which are then fed into an Add SOP for polygon generation. A Fit SOP, in turn, is used to create an interpolated spline from the referenced null points. The result is an animted spline.

  • The Add SOP is used to generate points without creating any primitives. Also, points from other objects can be extracted through the Add SOP.

  • Finally the Add SOP can additionally be used to procedurally create rows and columns.

VexDeform Example for Capture Attribute Unpack geometry node

This is an example of how to use the Capture Attribute Unpack SOP to turn capture attributes into something accessible to VEX. It then provides methods to smooth the capture attributes and deform them entirely in VEX.

DeltaMushDemo Example for DeltaMush geometry node

This example demonstrates how the Delta Mush SOP is used to smooth out bone deformation.

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.

LSystemMaster Example for L-System geometry node

The LSystems SOP allows for the definition of complex shapes through the use of iteration. It uses a mathematical language in which an initial string of characters is evaluated repeatedly, and the results are used to generate geometry. The result of each evaluation becomes the basis for the next iteration of geometry, giving the illusion of growth.

The example networks located in this demonstration should be enough to get you started writing custom LSystem rules.

However, anyone seriously interested in creating LSystems should obtain the book:

The Algorithmic Beauty of Plants, Przemyslaw Prusinkiewicz and Aristid Lindenmayer

For a full list of LSystem commands, see the Houdini documentation.

Object nodes

  • Agent Cam

    Create and attach camera to a crowd agent.

  • Alembic Archive

    Loads the objects from an Alembic scene archive (.abc) file into the object level.

  • Alembic Xform

    Loads only the transform from an object or objects in an Alembic scene archive (.abc).

  • Ambient Light

    Adds a constant level of light to every surface in the scene (or in the light’s mask), coming from no specific direction.

  • Atmosphere

    Creates a fog effect when rendered.

  • Auto Bone Chain Interface

    The Auto Bone Chain Interface is created by the IK from Objects and IK from Bones tools on the Rigging shelf.

  • Blend

    Switches or blends between the transformations of several input objects.

  • Blend Sticky

    Computes its transform by blending between the transforms of two or more sticky objects, allowing you to blend a position across a polygonal surface.

  • Bone

    The Bone Object is used to create hierarchies of limb-like objects that form part of a hierarchy …

  • COP2 Plane

    Container for the Compositing operators (COP2) that define a picture.

  • Camera

    You can view your scene through a camera, and render from its point of view.

  • Dop Network

    The DOP Network Object contains a dynamic simulation.

  • Environment Light

    Environment Lights provide background illumination from outside the scene.

  • Extract Transform

    The Extract Transform Object gets its transform by comparing the points of two pieces of geometry.

  • Fetch

    The Fetch Object gets its transform by copying the transform of another object.

  • Formation Crowd Example

    Crowd example showing a changing formation setup

  • Franken Muscle

    Creates a custom muscle by combining any number of geometry objects, muscle rigs, and muscle pins.

  • Fuzzy Logic Obstacle Avoidance Example

  • Fuzzy Logic State Transition Example

  • Geometry

    Container for the geometry operators (SOPs) that define a modeled object.

  • Groom Merge

    Merges groom data from multiple objects into one.

  • Guide Deform

    Moves the curves of a groom with animated skin.

  • Guide Groom

    Generates guide curves from a skin geometry and does further processing on these using an editable SOP network contained within the node.

  • Guide Simulate

    Runs a physics simulation on the input guides.

  • Hair Generate

    Generates hair from a skin geometry and guide curves.

  • Handle

    The Handle Object is an IK tool for manipulating bones.

  • Indirect Light

    Indirect lights produce illumination that has reflected from other objects in the scene.

  • Instance

    Instance Objects can instance other geometry, light, or even subnetworks of objects.

  • Light

    Light Objects cast light on other objects in a scene.

  • Light template

    A very limited light object without any built-in render properties. Use this only if you want to build completely custom light with your choice of properties.

  • Microphone

    The Microphone object specifies a listening point for the SpatialAudio CHOP.

  • Mocap Acclaim

    Import Acclaim motion capture.

  • Mocap Biped 1

    A male character with motion captured animations.

  • Mocap Biped 2

    A male character with motion captured animations.

  • Mocap Biped 3

    A male character with motion captured animations.

  • Muscle

    The Muscle object is a versatile tool that can be used when rigging characters and creatures with musculature.

  • Muscle Pin

    Creates a simple rigging component for attaching regions of a Franken Muscle to your character rig.

  • Muscle Rig

    Creates the internal components of a muscle (the rig), by stroking a curve onto a skin object.

  • Null

    Serves as a place-holder in the scene, usually for parenting. this object does not render.

  • Path

    The Path object creates an oriented curve (path)

  • PathCV

    The PathCV object creates control vertices used by the Path object.

  • Pxr AOV Light

    Pxr AOV Light object for RenderMan RIS.

  • Pxr Barn Light Filter

    Pxr Barn Light Filter object for RenderMan RIS.

  • Pxr Blocker Light Filter

    Pxr Blocker Light Filter object for RenderMan RIS.

  • Pxr Cookie Light Filter

    Pxr Cookie Light Filter object for RenderMan RIS.

  • Pxr Day Light

    Pxr Day Light object for RenderMan RIS.

  • Pxr Disk Light

    Pxr Disk Light object for RenderMan RIS.

  • Pxr Distant Light

    Pxr Distant Light object for RenderMan RIS.

  • Pxr Dome Light

    Pxr Dome Light object for RenderMan RIS.

  • Pxr Gobo Light Filter

    Pxr Gobo Light Filter object for RenderMan RIS.

  • Pxr Mesh Light

    Pxr Mesh Light object for RenderMan RIS.

  • Pxr Portal Light

    Pxr Portal Light object for RenderMan RIS.

  • Pxr Ramp Light Filter

    Pxr Ramp Light Filter object for RenderMan RIS.

  • Pxr Rectangle Light

    Pxr Rectangle Light object for RenderMan RIS.

  • Pxr Rod Light Filter

    Pxr Rod Light Filter object for RenderMan RIS.

  • Pxr Sphere Light

    Pxr Sphere Light object for RenderMan RIS.

  • Python Script

    The Python Script object is a container for the geometry operators (SOPs) that define a modeled object.

  • Ragdoll Run Example

    Crowd example showing a simple ragdoll setup.

  • Rivet

    Creates a rivet on an objects surface, usually for parenting.

  • Simple Biped

    A simple and efficient animation rig with full controls.

  • Simple Female

    A simple and efficient female character animation rig with full controls.

  • Simple Male

    A simple and efficient male character animation rig with full controls.

  • Sound

    The Sound object defines a sound emission point for the Spatial Audio chop.

  • Stereo Camera Rig

    Provides parameters to manipulate the interaxial lens distance as well as the zero parallax setting plane in the scene.

  • Stereo Camera Template

    Serves as a basis for constructing a more functional stereo camera rig as a digital asset.

  • Sticky

    Creates a sticky object based on the UV’s of a surface, usually for parenting.

  • Subnet

    Container for objects.

  • Switcher

    Acts as a camera but switches between the views from other cameras.

  • Tissue Solver

    Collects muscles, anatomical bone models, and skin objects and places them into a single dynamics simulation.

  • VR Camera

    Camera supporting VR image rendering.

  • Viewport Isolator

    A Python Script HDA providing per viewport isolation controls from selection.

  • pxr Int Mult Light Filter

    pxr Int Mult Light Filter object for RenderMan RIS.