Vegetation Shaders and Wind Animation for Game Graphics

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.

From immersive apps to game worlds and 3D scenes

Our dedicated team for VR/AR/MR development, Unity production and 3D modeling & animation — with its own case studies and capability decks.

Visit the dedicated studio
Showing 1 of 1All 242 services
Vegetation Shaders and Wind Animation for Game Graphics
Complex
from 3 days to 2 weeks
Frequently Asked Questions

Our competencies

What are the stages of Game Development?

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1386
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    926
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    544
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    591

In one mobile project, we encountered 5,000 bushes on a scene generating 200 draw calls. After implementing GPU Instancing and hierarchical wind, draw calls dropped to 10, and FPS rose from 25 to 60. Average FPS budget saving is up to 40% compared to ready-made assets, which in a real project saved about $2,000 during optimization. Our wind shaders provide 3 times fewer draw calls compared to Asset Store alternatives, and we guarantee a minimum 30% FPS improvement or your money back. Basic development costs start at $400 for a simple grass shader.

How vertex animation works

A tree with thousands of leaves cannot be animated via bones — that would be hundreds of skinned mesh renderer calls. The standard solution is vertex shader animation. In ShaderGraph (URP/HDRP), the algorithm is: Transform Position → World Position → Sine-based offset along X and Z with Time + Phase Offset. Phase Offset is encoded into vertex color or UV2 of the mesh during asset preparation. Without it, branches move synchronously — a mechanical swaying.

Hierarchical wind is a true differentiator. Movement is split into three levels:

  • Trunk sway — low frequency, large amplitude
  • Branch flutter — medium frequency, smaller amplitude, R-channel of Vertex Color
  • Leaf shimmer — high frequency, minimal amplitude, G-channel of Vertex Color

In the shader, each level is a separate Sine with different parameters. Weights are taken from vertex color.

Why instancing is critical for performance

Grass and trees require GPU Instancing. In Unity, we use Graphics.DrawMeshInstanced or Graphics.DrawMeshInstancedIndirect. The shader must support #pragma instancing_options. Material Property Block passes per-instance parameters (phase offset, wind multiplier) without creating separate materials — this gives up to 90% draw call savings compared to non-instanced rendering. Learn more about the technique from the official GPU Instancing documentation.

Render Pipeline Features Performance
URP Alpha clipping, vertex animation, up to 4 wind levels 0.5–1 ms per scene
HDRP Subsurface scattering, translucency, PBR leaves 1–2 ms, requires powerful GPU

Setting up translucency for leaves

For leaves in URP, we add Translucency: dot product Light Direction × View Direction, blend into Albedo with warm green. This adds +0.1 ms but dramatically improves quality. In HDRP, standard subsurface scattering is available with radius and color control.

Hierarchical wind: three animation levels

This is the separation of animation into levels: trunk, branches, leaves. Each level uses different frequencies and amplitudes encoded in vertex color. WindController manages global parameters: strength, direction, gusts. We integrate it into your game engine within 1-2 days. Our team holds Unity Certified Developer credentials, ensuring professional delivery.

Development process

We follow these steps:

  • Analysis of render pipeline and target platforms
  • Asset preparation: vertex color encoding, LOD, normals
  • Shader development in ShaderGraph or HLSL
  • WindController integration and device testing
  • Optimization: profiling with Profiler and Frame Debugger, LOD tuning, occlusion culling, asset streaming
  • Documentation for materials and configs

Shader setup checklist:

  1. Prepare assets: encode phase offset into vertex color (R-channel for branches, G-channel for leaves).
  2. In ShaderGraph, set up Vertex Position node with Sine and Time.
  3. Add parameters: Wind Strength, Wind Direction, Wind Frequency — into Material Property Block.
  4. For leaves, enable alpha clipping at 0.5.
  5. Enable GPU Instancing in the material (check Enable GPU Instancing).
  6. Set up LOD: three levels (high, medium, low) with corresponding draw calls.

What's included

  • Documentation for materials and configs
  • Access to shader source (HLSL or ShaderGraph)
  • Team training: kick-off and case study walkthrough
  • 3 months of support after implementation
  • WindController integration into your project
  • Full source code with detailed comments
  • Guaranteed performance improvements on target platforms

Our experience

We have completed 30+ projects on Unity and Unreal Engine. We know all the pitfalls of vegetation on mobile and consoles. FPS budget savings with our solutions reach up to 40% compared to ready-made assets, averaging $1,500–$3,000 savings per project. Our vegetation shaders are optimized for both URP and HDRP, and our tree animation techniques are battle-tested in production.

Estimated timelines

Task Type Timeline
Grass shader (URP, mobile, with wind) 2–4 days
Tree shader (URP, hierarchical wind, PBR leaves) 4–7 days
Vegetation shader set (grass + bushes + trees) 1–2 weeks
HDRP with subsurface + translucency 1–2 weeks

Cost is calculated individually after discussion. Get a consultation — we will assess the workload and offer the best solution. Contact us to discuss your project.