User Tools

Site Tools

Houdini SpeedTree Forest

This Houdini node loads world-building data in 'SWA' format. Its primary purpose is to reconstruct SpeedTree-generated forests in Houdini.

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/“


The SpeedTree Forest object is a simple utility for getting world-building data into Houdini. World-building data is imported as SWA (SpeedTree World-Building ASCII) files. The SWA data is translated into Houdini Instance nodes, grouped by each named entry in the forest. The named entries do not necessarily correspond to names of objects in the scene. SWA files are generated from the SpeedTree Modeler (exported from the “File” menu), or alternatively can be generated in other third party 3D applications such as Autodesk’s 3ds Max.

Each entry must be assigned a source object to make instances of. The instance information is pre-populated from the SWA file. If the source object is a Subnet node, it will not show up in the Scene View (true of all Subnet instances in Houdini), however it will render correctly. It is recommended to use SpeedTree FBX objects for each forest entry.

When a source object is selected, it is removed from the scene and placed in a special container inside of the SpeedTree Forest node. It is highly recommended to NOT edit the contents of this special subnet.
To remove a source model from this location, press the “Release” button to the right of the forest entry to which the source object is assigned. Additionally, deleting the SpeedTree Forest node will release all models stored in the source node container.

Changing Forest Settings

A SpeedTree Forest node is a container for a 'SWA' file. However, the 'SWA' file can be swapped out or reloaded with different settings. Upon creation, the user is prompted to select an initial 'SWA' file. If one is selected, that file is read in and the forest data is generated. However, the 'SWA' file can be swapped for another by selecting a different 'SWA' file with the file selector.

Additionally, once a forest is loaded, it can be reloaded by pressing the “Reload Forest” button, located in the Settings folder. The 'SWA' file will be re-evaluated, taking into account all forest settings including “Seed”, “Use point instances”, and “Flip up axis” (please see the descriptions for these parameters in the Forest Folder section below).

Forest Folder

Forest Entries

Each named forest entry must be assigned a source node already present in the scene. The named entries do not necessarily correspond to names of objects in the scene. Assign the source node here.

The source node will lose it’s transform properties and become a child of the SpeedTree Forest node. The source node will be released upon deletion of the SpeedTree Forest node, or can be released manually by pressing the “Release” button.

Release Button

Releases the assigned source node back into the scene.

Upon release, the source node will be located at the scene origin with default transform properties.

Cutoff (Threshold)

The display cutoff for each forest entry. Each instance has been given a random value between 0 and 1, and is only visible (both in the Scene View and the Render View) if that random number is larger than this display threshold. Change the “Seed” value and press “Reload Forest” to assign different random numbers to the instances.

The number in the parentheses is the total number of instances that are visible with a display threshold of 1.

Toggle Spike Display Proxies

Enables the “use spike display proxy” option on all SpeedTree FBX objects in this forest.

This feature is not applicable when using the point instance option.

Forest Cutoff (Threshold)

The display cutoff for the forest in its entirety. This cutoff is applied first, before the individual forest item cutoffs.

This feature is not applicable when using the point instance option.

Toggle Instance Visualization

Enables the display of helper lines in the Scene View for point instance transforms.

This feature is ONLY available when using the point instance option.

Settings Folder

SWA File

The disk location of the forest data file. Forest data is saved in 'SWA' (SpeedTree World-Building ASCII) format out of either the SpeedTree Modeler or other third party 3D application.


The seed value is used to assign a pseudo-random number to each instance in the forest. The random number is used to decide which nodes will survive when the “Display” slider is lowered on any given forest entry. Change this value and press “Reload Forest” to change the random numbers assigned.

This feature (and the “Randomize” button, described next) are not applicable when using the point instance option.


Randomizes the seed value.

Use point instances

This option will load the forest data only at render time. This comes with the benefit of a speedier interface, but results in the loss of some functionality including the ability to see and manipulate individual instances, and the ability to use the seed and display cutoff properties.

Flip Up Axis (Y to Z)

If the objects in your forest were originally modeled in or imported from a Z-up coordinate system, you will need to enable this option and press the “Reload Forest” button for the trees to be oriented for the correct up vector.

Reload Forest

Reloads the 'SWA' file with the seed value and up axis designated in the settings folder.

Transform Folder

The parameters in the Transform folder are the same as for all other geometry objects. Please see the Houdini documentation for more info.

Subnet Folder

The parameters in the Subnet folder are the same as for Subnet container objects. Please see the Subnet documentation for more info.

Version History

speedtree_forest 1.2

  • Added Houdini 12 support
  • Fixed bug where bgeo folder couldn't be created because of environment variables

speedtree_forest 1.1

  • Added “instance visualization” for previewing instance transforms when using the point instance option
  • Added handles to the SpeedTreeForest node
  • Fixed SWA reader on some versions of Linux
  • Fixed reading SWA files out of the $TEMP folder on Linux, and better overall support for environmental variables