meta data for this page
  •  

This is an old revision of the document!


Importing into UnrealEngine4

SpeedTrees are supported in the UnrealEngine4 (UE4) game engine. The .ST files exported by SpeedTree 9 can be imported with Unreal Engine 4.19.2 or later.

Pipeline to UE4

Before exporting a tree for UE4, be sure that your tree is set up for real-time use by using LOD. Also ensure that wind is correctly set for UE4 by setting the fan to Legacy UE4/Unity mode and tuning the wind effects, if necessary.

If this is the first time exporting to UE4, be sure to pick one of the UE4 presets in the export mesh dialog, to ensure all the export settings are correct for UE4. Export an .ST file to disk, then switch to UnrealEd and import the ST file there. The mesh and all textures should be found and imported into your UE4 project assets.

On import in UE4, you will be presented with a few options, such as whether to include the collision objects you have placed in the tree. The “LOD Setup” option allows you to select whether you wish to use SpeedTree-style LOD (with growing/shrinking geometry) on a static mesh actor, or UE4's crossfaded LOD which will also work on painted foliage.

It is recommended that you allow the importer to create materials for you, and tick the “Include Vertex Processing” option. This will create the materials for you and place the SpeedTree node into them with the correct settings for each draw call (based on the wind type and geometry type).

Note: At this time only crossfaded LOD will work on painted foliage.

Placement

ue4_tree_in_scene.jpg Once you've imported the model as an asset you can place it in your scenes like you would any other static mesh. Simply drag the asset and drop it in the scene to place a model. Mark them as “static” to use them with Lightmass (you'll need a good lightmap uv) or “moveable” to have them be dynamically lit and shadowed.

ue4_painted_grass.jpg You can also paint the tree with a foliage layer. Drag the asset into foliage painting area and paint the SpeedTrees like any other static mesh. See UE4's foliage tool documentation for more information.

Wind

Wind behavior is tuned inside of the SpeedTree Modeler. To see the animation in UE4, you must add a WindDirectionalSource object. The “Speed” property controls the wind speed while the “Strength” property affects the blending of multiple sources together.

Note: You'll probably want to turn down the speed since the default is 1.0 (high wind).

LOD

Your LOD behavior is set in the SpeedTree Modeler, but you can adjust when the LOD changes occur inside of UE4. LOD transitions are based on screen space area, and these values can be edited in the static mesh editor associated with the SpeedTree model. Default values are chosen upon import that work for typical situations.

Materials

The materials created after import can be edited as much as you wish. The materials created by the importer get the basics in place but can be improved and tailored to suit your scenes.

The SpeedTree node connected to WorldPositionOffest is the only SpeedTree-specific component. If you disconnect it everything rendered with that material will be identical to a static mesh. With it connected you will get SpeedTree wind, camera-facing geometry, and smooth LOD transitions.

There are several options available on the SpeedTree node:

  • Geometry Type. This setting controls what type of geometry is rendered and is set automatically. This value rarely needs to be edited.
  • Wind Type. This property controls the complexity/quality of the wind shader applied to the material. This value matches what you set in the Modeler on import. If vertex processing performance is an issue, this is a good way to reduce the vertex overhead on SpeedTree objects quickly.
  • LOD Type. Use this to control whether SpeedTree models smoothly transition between LOD states or pop between them like standard static meshes.
  • Billboard Threshold. Billboards are modeled as a cluster of planes, each with a different billboard image applied. Use this property to control how quickly each plane disappears based on its viewing angle.

The “SpeedTree Color Variation” node (also pictured below) adds color variation to the material based on the model's position/orientation. Use this to add subtle color change effects without adding multiple tree models.