SpeedTree Wind
Configure and diagnose SpeedTree wind for Flora-rendered trees.
Flora automatically animates compatible SpeedTree render prototypes. It creates hidden, non-rendering proxies, lets Unity evaluate their wind, and copies the current and previous wind parameters into Flora's BatchRendererGroup bindings.
No Flora material override, build-time wind asset list, or separate wind simulation is required.
Requirements
A compatible render source must have:
A Unity
Treecomponent that reports SpeedTree wind and has a valid wind asset.An enabled wind renderer owned by an
LODGroupbeneath the render source.A DOTS-instanced SpeedTree material. Custom shaders must consume Unity's current
DOTS_ST_WindParam*and historyDOTS_ST_WindHistoryParam*properties.
All wind-enabled renderers in one render source must belong to the same LODGroup and use compatible wind data. Split renderers into separate render prototypes when they use different wind assets, geometry, bounds, or LODGroups.
Flora applies this support to Terrain trees, scene-backed Instance Renderers, Instance Containers, and instances created through the runtime API.
Sampling modes
A wind proxy has a world position. This position matters when a WindZone produces position-dependent wind.
Per Prototype
World origin
Wind is global or directional and maximum batching is the priority. This is the default.
Per Terrain
Center of each Terrain
Terrain trees need different samples across position-dependent wind.
Per Instance
The Instance Renderer's wind anchor, or its transform when no anchor is assigned
Individual scene-backed trees need position-dependent wind.
More sampling scopes create more hidden proxies, render-prototype variants, BatchRendererGroup bindings, and wind parameter uploads. Prefer Per Prototype unless the scene depends on position-dependent wind.
Performance: Use Per Instance only for a limited number of scene-backed trees that require position-dependent wind. Every Instance Renderer in this mode creates a separate hidden wind proxy and rendering binding, which reduces batching and adds GameObject, Unity wind-evaluation, memory, and upload overhead. For forests or repeated vegetation, prefer Per Prototype.
Instance Containers and instances created directly through the runtime API use shared per-prototype sampling at the world origin. They do not currently expose a per-container or per-instance sampling override.
Terrain trees
Open the Scene Settings and select Global > Terrain Foliage > Trees > Terrain Wind Proxies:
Per Prototype shares wind between matching tree render prototypes.
Per Terrain samples separately at the center of each Terrain. All instances of a matching tree prototype on that Terrain share its terrain-positioned sample.
Terrain trees do not create per-tree wind proxies. With Per Terrain, proxy and binding cost scales with the number of distinct wind prototypes on each Terrain.
Changing this setting refreshes tracked terrain foliage automatically.
Scene-backed instances
Use Scene Settings > Global > SpeedTree Wind > Scene Wind Proxies to set the default for scene-backed FloraInstanceRenderer components:
Per Prototype shares wind between matching render prototypes.
Per Instance samples wind at each Instance Renderer.
An individual Instance Renderer can choose Use Scene Settings, Per Prototype, or Per Instance. When using Per Instance, assign Proxy Anchor to sample at another transform; leave it unassigned to use the component's transform.
Runtime changes refresh the affected registrations. Moving a Terrain, Instance Renderer, or assigned proxy anchor also moves its positioned proxy.
Diagnose wind support
Open the Rendering Inspector, select a render prototype, and check SpeedTree Wind LODs. Each LOD also reports SpeedTree Wind: Supported or Not present.
If Flora does not enable wind:
Confirm the imported source has a
Treecomponent with wind and a valid wind asset.Confirm the wind renderer is enabled and belongs to an
LODGroupbeneath the registered render source.Confirm every wind-enabled LOD uses compatible wind data and the same owning
LODGroup.Confirm every material supports DOTS instancing.
Flora logs a warning and disables wind when it finds a wind renderer without an owning LODGroup. Incompatible wind renderers in one render source produce an error that identifies the affected LODs and renderers.
Last updated