A custom shader created for use with SpeedTree FBX files in Houdini by Side Effects Software
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”
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/“
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 Textures→Mipmap textures.|
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).
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.
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).
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).
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).
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.
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.
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.
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.
Enables rendering of vertex colors.
The influence of vertex colors on the final surface calculation. When set to 1, the vertex colors will be completely visible.
A scalar for the “weight” of blended textures vs. base textures when using branch intersection blending.
Scales the “opaque point” for materials that use transparency.
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.|
The diffuse color component, which is multiplied by the diffuse texture map.
The ambient color alters the color of the shadows on this object.
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.
Toggles “true” reflections. This also makes the options for Reflection color and Reflectiveness available.
|Enabling reflection will result in longer renders.|
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).
The intensity of reflections, if enabled.
The glossiness of specular highlights. Higher numbers will create a crisper highlight and lower values will create a broad highlight.
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.
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.
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.
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.|
The color of light that has passed through the material.
Scales the intensity of the transmission effect.
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.
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.
The number of light bounces that receive translucency. To allow transmission in reflections and refractions, increase this limit to a value greater than 0.
If the standard translucency model is not sufficient, or if your object has volume, subsurface scattering can be enabled.
The intensity of the subsurface scattering effect.
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.
Sets the active render pass. Options include None, Matte (solid color + alpha), and Normal (normals visualization).
When the pass is set to “Matte”, this is the color used for this material.
When the pass is set to “Normal”, this option will invert the interpretation of the green value.
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.