Houdini 17.0 Nodes Object nodes

Environment Light object node

Environment Lights provide background illumination from outside the scene.

On this page

Environment lights illuminate the scene from a virtual hemisphere (or sphere) that is beyond that farthest geometry objects in the scene. Environment lights can be rotated to orient directional illumination, but they cannot be translated.

An environment light may use a texture map to provide HDRI illumination from an environment map. With no rotation, the environment map is oriented so that the top face aligns with the positive Y axis.

See how to create an environment/reflection map.

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.

Rotate

Degrees rotation about XYZ axes.

Viewing Options

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.

Icon scale

Scales the viewport geometry. This parameter is only for display purposes.

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.

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 .

Lookat Options

Light

Light Color

The environment color or environment map tint if a map is used.

Light Intensity

A scale on the color. If the intensity is 0, the light is disabled. The light will only be sent to the renderer if the object is included in the Force Lights parameter of the output driver.

Environment Map

Environment map to control the color and intensity of light arriving from different directions. The color from the environment map will be tinted by the light color.

This parameter will be disabled if Enable Sky Environment Map (on the Sky Environment Map tab) is on.

Light Enabled

Turning this toggle off is equivalent to setting the light intensity to 0.

Enable Light In Viewport

Turning this off removes the light from consideration in the viewport. This is useful for lights which only make sense at render time.

Diffuse contribution

The light will contribute to diffuse illumination when illuminating a surface.

Specular contribution

The light will provide specular highlights on the surface when illuminating a surface.

Light Contributions

Provides more detailed control over which shading components the light affects. To disable contribution to a named comopnent, specify the component name and disable the toggle.

Render Light Geometry

Display the light as a geometry object in the render. Environment lights will appear as a background image in the render when this toggle is enabled.

Clip To Positive Y Hemisphere

Forces the environment lighting to only emit light from the +Y hemisphere. When lighting a scene that occludes most illumination in the -Y hemisphere (eg. a scene with a large ground plane), turning on this toggle can improve rendering quality.

Categories

The space or comma separated list of categories to which this object belongs.

Currently not supported for per-primitive material assignment (material SOP).

Render Options

Options that affect how light is produced by the environment light.

Rendering Mode

The sampling style for environment illumination. Environment lighting is computed with raytracing by sending rays out into the hemisphere above the shaded surface to analyze the amount of light arriving at the surface from different directions.

Which rendering mode you choose to use will depend on the type of environment illumination as well as the geometry in your scene.

Direct Lighting

The environment will be treated as a large area light enclosing the scene. If an environment map is used, mantra will send more samples toward bright portions of the environment. If you want the environment to contribute to specular or reflective surfaces, you should use this option.

Direct lighting enables support for variance antialiasing when rendering with PBR or when using the /nodes/vop/surfacemodel VOP. Variance antialiasing makes use of the min/max ray samples to automatically detect and reduce noise in the lighting.

Tip

Normally "Direct Lighting" should be preferred in the following scenarios:

  • When the environment map contains directional illumination (eg. parts of the map are much brighter than others)

  • When you require a specular contribution from the environment

  • When you require per-light exports

Ambient Occlusion

The environment will be computed using ambient occlusion. Ambient occlusion is computed using the VEX Global Illumination shader, and will send evenly distributed rays in the hemisphere to check for blocking surfaces. Ambient occlusion works best when computing lighting without an environment map or with a map that has little variation in color over the hemisphere. Occlusion will only contribute to diffuse lighting.

Tip

Use ambient occlusion in the following scenarios:

  • When rendering without an environment map or when the environment lighting is uniform and not very intense.

  • When using irradiance caching.

Ray Tracing Background

The environment will contribute to the scene indirectly for shaders that trace rays that exit the scene. This mode is supported through the resolvemissedray VEX function, which can be used in shaders to query the background illumination for a given ray. Ray Tracing Background mode is supported for the following scenarios:

In this mode, deep rasters from the environment light will appear in the "indirect_emission" export plane rather than the per-light diffuse/reflect/refract planes. This will occur because the light is treated like an emissive background object rather than as a true light source.

Tip

Normally "Ray Tracing Background" should be preferred in the following scenarios:

  • When rendering without an environment map or when the environment lighting is uniform and not very intense

  • When you are using PBR or a shader that performs ray tracing to calculate most indirect lighting

  • When using an Indirect Light to calculate irradiance, to speed up lighting for secondary rays

Sampling Quality

The sampling quality multiplier for the light. A value of 1 will use the ray sampling parameters (Min Ray Samples) from the output driver directly. Other values will proportionally increase or decrease the sampling quality.

Glossy Filter Amount

When set to a non-zero value, this parameter enables renderer-controlled filtering of the environment map to filter out high frequency noise in glossy reflections of the environment light. The amount of filtering is determined by the surface bsdf - with glossy surfaces receiving more filtering. Filtering is automatically disabled for diffuse surfaces and for mirror reflections to preserve accuracy in the render for these components. Using a non-zero value for this setting may change the average brightness of the glossy highlights, introducing some bias in the render.

Portal Geometry

Specifies a geometry object that can be used to optimize sampling of environment lights in enclosed scenes. The portal geometry describes to the renderer where light can enter the enclosed scene, so that the sampling algorithm can concentrate on the parts of the environment that actually contribute lighting to a pixel. Normally, the portal geometry should be a geometry object that is not rendered, so that it does not cast shadows on the scene, and that has only a single layer of surface visible from any point in the scene - so that illumination is not multiply counted.

A correctly configured portal should produce the same rendered result as when the portal is disabled, but with much less noise. Portals should normally not be used in outdoor scenes where the environment map is fully visible, or when the environment map contains sharp variations in intensity - since in these cases the standard direct lighting algorithm may produce better results.

Using an environment light with a portal is equivalent to creating a standard geometry light with physically correct attenuation, no intensity normalization, and transform into this object enabled.

Ray Distance

Maximum distance from the sample point to consider geometry for irradiance/occlusion.

Sampling Angle

Half-angle over which to send rays for irradiance/occlusion. 90 degrees is a full hemisphere.

Adaptive Sampling

Turns on an automatic optimization that will reduce the number of samples when there is little variation in occlusion above the sample point. This can improve performance at the expense of some possible flickering or additional noise. Adaptive sampling will only take effect with more than 64 samples.

Sky Environment Map

Options to automatically create a "sky and ground" environment map for the light.

Enable Sky Environment Map

Automatically create a "sky and ground" environment map. When this parameter is on, the Environment Map parameter (on the Environment tab) will be disabled.

Resolution

The resolution (in pixels per cube side) of the environment map.

The other parameters on this tab are identical to the parameters of the Sky Environment Map compositing node.

Direction

The type of direction to calculate. Either Away from Sun or Towards the Sun.

Calculated Vector

The direction vector for the sun.

Calculated Rotate

The Euler rotation angles to align -Z axis with the Calculated Vector.

Shadow

Shadow Type

None

No shadows will be cast by this light.

Ray-Traced Shadows

Ray-tracing will be used to compute shadows from this light source.

Shadow Mask

A mask of objects which will be considered occluders for the light source. When ray-traced shadows are used, only these objects will be intersected by shadow rays. When depth map shadows are used, only these objects will appear in the depth map.

Note

It is possible to use categories by adding the shadowcategories rendering parameter.

Shadow Intensity

A scale on how much light is blocked by occluders. By decreasing the shadow intensity, the occluders will not block all the light, allowing some illumination through.

Transparent Shadows

When this option is turned on, the surface shader of occluders will be evaluated to determine the opacity. Turning this option on will cause deep shadow maps to be used when shadowing using Depth Map Shadows.

Examples

PortalBox Example for Environment Light object node

This example shows how to create a portal light using window geometry. A box is modeled and then split into 2 SOPs - one representing windows and the other walls. The walls are rendered, while the windows are used to specify the portal for an environment light. Toggle on and off the portal to see the render quality difference while rendering in the Render View.

The following examples include this node.

ClipLayerTrigger Example for Agent Clip Layer dynamics node

This example demonstrates how to use the Agent Clip Layer DOP to apply a clip to the upper body of an agent. The clip is activated when the agent is inside a bounding box.

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.

PartialRagdolls Example for Crowd Solver dynamics node

This example demonstrates how to set up a partial ragdoll, where a subset of the agent’s joints are simulated as active objects by the Bullet solver and the remaining joints are animated.

Formation Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a changing formation setup

The setup creates an army of agents. There are two paths created. Middle part of the army starts moving and then splits into two formations. One goes to the left, the other groups keeps marching forward and slowly changes formation to a wedge shape.

To keep the agents in formation a custom geo shape is used. It’s points are used as goals for indiviudal agents. Using blendshapes the shape can change allowing for different formation changes. Dive inside the crowdsource object to see the construction.

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.

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.

Street Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a street setup with two agent groups

The setup creates two groups of agents. The yellow agents are zombies which follow a path of the street. The blue agents are living pedestrians that wander around until they come into proximity of the zombies and then they swtich into a running state.

Triggers to change agent states are setup in the crowd_sim dopnet. The zombies group uses proximity to the stoplights and the color of the light to transition into a standing state when lights are red. The living group transition into a running state when they get close to the zombie agents.

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.

PortalBox Example for Environment Light object node

This example shows how to create a portal light using window geometry. A box is modeled and then split into 2 SOPs - one representing windows and the other walls. The walls are rendered, while the windows are used to specify the portal for an environment light. Toggle on and off the portal to see the render quality difference while rendering in the Render View.

TubeCaustic Example for Indirect Light object node

This example shows how to set up the indirectlight object for caustic photon map generation and also how light masks and photon targets should be used. The scene consists of a reflective tube and a point and environment light. Each light has a corresponding indirectlight to generate caustics, with the light mask configured to allow the light to generate photons only from the specified light. The photon target is used to ensure that photons are only sent toward the reflective tube. The mantra ROP will produce deep raster planes for the direct_diffuse component on a per-light basis, showing the diffuse illumination from the two lights and the caustics split into separate planes.

AmbientOcclusion Example for Mantra render node

Ambient occlusion is a fast technique for producing soft, diffuse lighting in open spaces by using ray tracing. It is computed by determining how much of the hemisphere above a point is blocked by other surfaces in the scene, and producing a darker lighting value when the point is heavily occluded. This technique can be useful when you need a GI-like effect without paying the price for full global illumination.

With this particular example, an Ambient Occlusion light and some geometry is provided in the form of a Digital Asset. An Environment Light was used, and it’s parameters were promoted for easy access.

Decreasing the sample count allows you to improve render time at the expense of some additional noise in the render. The following render uses the same shader as the image above but decreases the samples from the default of 256 to 16. This value is set on the Sampling Quality under the Render Options tab of the Light.

Environment Maps

If you have a smooth environment map, it is possible to replace the global background color (white) with the value from an environment map. You can also enable the Sky Environment Map under the Sky Environment Map tab.

Brickify Example for IsoOffset geometry node

This example shows how to 'brickify' or make an object appear to be made of bricks using the IsoOffset SOP.

WornMetal Example for Curvature VOP node

This example shows how the curvature vop can be added to a shader network to add a worn or distressed look to your material.

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 Card Generate

    Converts dense hair curves to a polygon card, keeping the style and shape of the groom.

  • Hair Card Texture Example

    An example of how to create a texture for hair cards.

  • 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.

  • Stadium Crowds Example

    Crowd example showing a stadium setup

  • 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.

  • Street Crowd Example

    Crowd example showing a street setup with two agent groups

  • 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.

  • Toon Character

    A ready-to-animate Toon Character.

  • VR Camera

    Camera supporting VR image rendering.

  • Viewport Isolator

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

  • glTF

  • pxr Int Mult Light Filter

    pxr Int Mult Light Filter object for RenderMan RIS.