Kiwi Grass Docs
View product

Rendering and quality

Wind profiles

Author simple or layered wind and coherent gust response.

Kiwi Grass 26.8.0Unity 6000.0+URP

TerrainGrassWindProfile stores wind quality, direction, strength, speed, scale, turbulence, gust strength, and gust frequency. Profile mode uses the assigned wind profile unless global wind is enabled and an active TerrainGrassGlobalWindController exists.

Global wind is optional. Add TerrainGrassGlobalWindController to a scene when several renderers should share the same wind profile and multipliers. If several controllers are active, Kiwi Grass uses the highest priority controller, or the most recently enabled controller when priorities match.

Bundled wind presets include Calm, Meadow Breeze, Strong Wind, and Storm.

wind quality

Simple wind keeps the lightweight per-blade wave intended for lower quality tiers.

Layered wind uses two coherent travelling fronts in terrain-local space. Wind direction, speed, and scale drive their motion, while gust strength and frequency add larger pulses without reversing the main flow. Stable blade variation changes stiffness and amplitude rather than macro phase, and turbulence remains a small lateral detail. The resulting bend follows the terrain tangent and preserves blade roots.

Wind scale is spatial angular frequency in radians per terrain meter. A primary-front wavelength is approximately 2 * pi / wind scale; Meadow Breeze uses 0.28, producing a roughly 22-meter primary wave with a slower, broader secondary front. Front travel speed in meters per second is approximately wind speed / wind scale.

Because Layered wind is evaluated from the supplied deformation time, its current and previous evaluations remain deterministic for the MotionVectors pass.

safe runtime ranges

Resolved wind values are finite-clamped before they reach the shader: strength and gust strength are limited to 4, speed and gust frequency to 32, scale to 0.001-16, and local/runtime multipliers to 0-8. Invalid numeric input falls back to a safe value. Changing runtime wind or density multipliers also resets one frame of motion-vector history so temporal anti-aliasing does not reuse a stale appearance state.

Still stuck?

Bring the renderer status with you.

Include the Kiwi Grass version, Unity and URP versions, operating system, graphics API, renderer status, Player log, and a minimal reproduction.

Email supportJoin Discord

Kiwi Grass 26.8.0

Search documentation