Wind for Unreal

How Wind Config splits a Natsura tree into wind layers, and how the export turns them into Unreal's Dynamic Wind.

Every tree that comes out of a Simulate is rigged and skinned, so it is ready for wind. Wind Config splits the tree into wind layers, and Export Unreal Nanite Assembly turns each layer into a simulation group for Unreal's Dynamic Wind, written to one wind file per tree.

For the Unreal side, see Nanite Skeletal Assemblies.

Wind layers

Chain Wind Configs after the Simulate, one for each layer. The first usually takes the whole tree as the trunk, with Is Anchor on, and each one after it takes part of the tree for itself.

Carve decides which joints a layer takes: those thinner than a width (the default), those at least a distance from the root, or those within a distance of the tips. Parts hanging off a branch don't count as tips. Snap moves a cut that lands mid-branch to a nearby fork. Each layer is named after its node, and that is the name the export lists.

Stiffness

Each layer has a Stiffness. How much a joint moves in Unreal comes from the stiffness of its layer and the width of its branch, so thin twigs move and thick limbs hold. Set Response to Stiffness Only if you want every joint in a layer to move alike, whatever its width.

Preview in Houdini

Display a Wind Config to see its layers coloured on the tree and the tree moving. The preview follows the Wind Environment, and Static holds the first frame. It is a guide to where the layers fall rather than a match for Unreal.

What Unreal receives

The export translates the layers for you, and with its Mode set to Advanced, its Wind section shows what Unreal gets. Turn on Override there to send your own values instead.

When only the wind has changed, Save Wind Only rewrites the wind files without touching the USD, and you import the wind data again in Unreal. Values changed on the skeletal mesh in Unreal are lost on that re-import, so keep your changes in Houdini.

Run Simplify Tree Rig and Skin before setting up wind, so the layers are built on the joints that get exported. If you are staying in Houdini, the same rigged skeleton can drive Vellum or your own solver.

Status

How the values translate into Dynamic Wind, especially strong wind, is still being tuned, so the defaults may change. If branches curl in strong wind, lower the Wind Environment's Strength. Snap treats parts as forks, so it can stop early near them. Wind goes to Unreal as Dynamic Wind only; vertex animation textures and Pivot Painter aren't supported.