User Tools

Site Tools


Houdini SpeedTree Material

A custom shader created for use with SpeedTree FBX files in Houdini by Side Effects Software

Houdini Scripts Location

The SpeedTree for Houdini scripts are contained in a digital asset file for both Houdini 11.1 and Houdini 12:

“[SpeedTree Modeler Install Dir]/Scripts/Houdini 11.1/SpeedTreeFBX.otl” “[SpeedTree Modeler Install Dir]/Scripts/Houdini 12.0/SpeedTreeFBX.otl”

Automatic Loading

It is recommended to load “SpeedTreeFBX.otl” when Houdini is started. To do this, you will need to place copy the file to the startup OTL folder. This location varies depending on the platform you are running (“x.x” represents the Houdini build in use, such as “12.0”):

Windows - “Users/[Username]/My Documents/houdinix.x/otls/“
Mac - ”[Username]/Library/Preferences/houdini/x.x/otls/“
Linux - ”/opt/hfsx.x/houdini/otls/“



Overview

The “SpeedTree Material” shader was designed to bring materials created in the SpeedTree Modeler into Houdini for rendering. It is intended for use with the SpeedTree FBX object node, which extends the standard FBX importer for use with SpeedTree-generated models.

The SpeedTree Material includes several key features that are vital for rendering realistic foliage. These features include normal-mapping, translucency, subsurface scattering, backface culling, branch intersection blending, and detail layers. These features can be combined to render any type of vegetation.

Where's My Tree? - Having trouble seeing your imported tree in the Scene View? In Houdini, go to your “Display Options→Effects” tab and disable the option for TexturesMipmap textures.




Maps Folder

Diffuse Map

The diffuse texture map includes color data in the RGB channels and opacity data in the alpha channel. The alpha channel is overridden by the use of a dedicated opacity map (see next parameter).

Normal Map

The normal map texture provides surface details similar to a bump map. Tangent space normal maps are the only supported format.

Use the provided options to invert the green channel (the up vector) of the image or scale the intensity of the effect. Those parameters are described at the bottom of this tab.

Specular Map

The specular texture map defines the color of specular highlights across the material. The alpha channel of this map may contain a transmission mask for translucency (a dedicated transmission map will override this, however).

Transmission Map

When assigned, the transmission map will be used to mask parts of the texture (such as leaf veins and stems) from becoming translucent.

Translucency must be enabled for this map to serve a function.

This map is optional (falls back to the specular map’s alpha channel).

Opacity Map

When assigned, the opacity texture map will replace the diffuse map alpha channel as the opacity source.

This map is optional (falls back to the diffuse map’s alpha channel).

Detail Map

The detail texture map uses UV channel 2 for its texture coordinates, allowing it to tile differently from the diffuse texture map.

The mask between the detail and diffuse textures is taken from the alpha channel of this texture.

Detail Normal Map

When using a detail map, a detail normal map can be assigned to the areas masked off by the detail map. This will ensure that the detail surface lighting will match the detail texture map.


Surface Folder

Light Scalar

The light scalar will multiply the intensity of the diffuse component of the shader. This is useful for simulating an “over-bright” effect in scenes with exterior daylight.

Diffuse Roughness

A floating point value used to control the size or spread of the diffuse component. Higher values make the surface look less glossy with flatter color. This parameter uses the Oren-Nayer lighting model.

Render Vertex Colors

Enables rendering of vertex colors.

Vertex Color

The influence of vertex colors on the final surface calculation. When set to 1, the vertex colors will be completely visible.

Blend Weight

A scalar for the “weight” of blended textures vs. base textures when using branch intersection blending.

Alpha Scalar

Scales the “opaque point” for materials that use transparency.

Backface Cull

Culls the backfaces of the geometry in the renderer.

Some materials are designed to be 2-sided, such as for a leaf with distinct top and bottom sides. A leaf of this type must have backface culling enabled for translucency to function correctly. Additionally solid objects, such as plant stems, need to have backface culling enabled in order for subsurface scattering to bleed through the back side.

Diffuse Color

The diffuse color component, which is multiplied by the diffuse texture map.

Ambient Color

The ambient color alters the color of the shadows on this object.

Specular Color

The specular color is combined with the specular texture map to create a color for specular highlights. The glossiness of the highlights is controlled by the “shininess” parameter.

Enable Reflection

Toggles “true” reflections. This also makes the options for Reflection color and Reflectiveness available.

Enabling reflection will result in longer renders.

Reflection Color

The color blended with the actual reflections. This value defaults to a “sky” blue to emulate sky reflections. Additionally, the reflective color is faded out as the reflections point away from the “sky” (positive Y).

Reflectiveness

The intensity of reflections, if enabled.

Shininess

The glossiness of specular highlights. Higher numbers will create a crisper highlight and lower values will create a broad highlight.

Normal Intensity

This value scales the intensity of the normal mapping effect. Lower values will nullify the effect and values over 1.0 will exaggerate the effect.

Tangent Style

The method used to compute tangents for normal mapping. “Compute from UV” works best in most cases, but other options are available if that one isn’t correct.

Invert Normal Map Green Channel

Inverts the Y component (the up vector) of the normal map. By default, the SpeedTree Material uses what is known as “inverted-Y” style normal maps.


Light Scatter Folder

Enable Translucency

Enables basic translucency and the options for subsurface scattering (SSS).

Basic translucency” is a proprietary technique developed by IDV, Inc. for simulating SSS without a pointcloud file. It works best for thin-faced objects, like leaves. For objects with volume, the SSS option may serve you better.
2-sided objects - If your object has been modeled “2-sided” (geometry on both sides of each face, like some leaves), enable 'Backface Culling' first for translucency to work correctly.

Transmission Color

The color of light that has passed through the material.

Transmission Scalar

Scales the intensity of the transmission effect.

Shadow Offset

Controls how much areas in shadow are allowed to receive light transmission or SSS. Zero will result in solid shadows and higher values will brighten the shadowed areas.

View Dependency

How much the viewing angle limits the effect of translucency. A value of 1 (the default) fades light transmission in as the camera looks towards the light source. A value of 0 allows light transmission on the front-lit side.

Reflection Limit

The number of light bounces that receive translucency. To allow transmission in reflections and refractions, increase this limit to a value greater than 0.

Subsurface Scattering

If the standard translucency model is not sufficient, or if your object has volume, subsurface scattering can be enabled.

Subsurface Intensity

The intensity of the subsurface scattering effect.

Subsurface Color

The color of the subsurface scattering effect. This value is separate from transmission color since the same color may not work well for both cases.


Passes Folder

Pass

Sets the active render pass. Options include None, Matte (solid color + alpha), and Normal (normals visualization).

Matte Color

When the pass is set to “Matte”, this is the color used for this material.

Invert Green Channel

When the pass is set to “Normal”, this option will invert the interpretation of the green value.


OpenGL Folder

The parameters in the OGL folder control the way the shader will render only in the Scene View. The diffuse, ambient, and specular colors (as well as the diffuse, opacity, and specular maps) are references to the same values found on the Surface Tab.


Version History

speedtree_material 1.2

  • Added support for Houdini 12
  • Added support for SpeedTree Studio/Cinema 6.1.1
  • Added “Blend Weight” value for scaling the contribution of branch intersection blending
  • Added “Alpha Scalar” for scaling the “opaque point” of transparent shaders
  • Fixed bug with blended detail normal coordinates were overriding base detail normal coordinates
  • Fixed bug where blended detail masks were not getting clamped into the 0 to 1 range

speedtree_material 1.1

  • Added support for branch intersection blending data
  • Added “Matte” and “Normals” render passes
  • Improved normal mapping algorithm now supports “Compute From UV” tangent calculation
  • Added “Tangent Style” option for normal mapping
  • Better organization of internal shader nodes