Grass blades swaying in travelling wind gusts
In your harnessGodot shaderMIT
Vertex wind for grass and plant cards: blades bend more toward the tip, gusts travel across the field as moving noise in world space, each blade gets its own phase, and the blade is cut to a tapered shape with a root to tip gradient.

What it takes and gives
- Shader type
- spatial
- Render modes
- cull_disabled
- Parameters
- root_color (vec4 = 0.12, 0.26, 0.08, 1), tip_color (vec4 = 0.58, 0.78, 0.3, 1), wind_angle_degrees (float = 30), wind_strength (float = 0.25), gust_scale (float = 0.35), gust_speed (float = 1.2), flutter (float = 0.05), taper (float = 0.9) and 1 more
- Use it on
- Grass cards whose UV v runs from 1 at the root to 0 at the tip (a vertical QuadMesh with its origin at the root, as in the demo); enough vertical subdivisions to bend smoothly.
- Result
- A patch of tapered grass blades leaning and waving as gusts pass.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/grass_blade_sway/
Limits. Blades bend but do not keep exact length or collide. Per-blade variation uses the instance origin, so all blades sharing one mesh instance move together. Discard-based shape costs fill rate on dense fields. Shadows follow the moving shape.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 80.8 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- Height-weighted vertex bending, Scrolling world-space value noise gusts, Position-hash phase variation, MurmurHash3 32-bit finalizer over prime-combined lattice coordinates as a hash
- Tags
- godot shader, spatial, grass, wind, vertex animation, foliage, nature
- Identity
library.supply.creative_originals.64e857179c03a38eee0ba95e.4cb30376ec236561- Version
4cb30376ec2365614dec0695113b75149ec1fbdb11c15e2a45690326d549faf5
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.

