Stylized Grass Shader Documentation

Stylized Grass Shader

Stylized Grass Shader
Author: jonathan
Version: 1.1.4
Dated: 31 Aug 2019

6.Using grass bending #

The shader is paired with a system to flatten or bend the grass through meshes, trails or particle effects.


Renderer component

Create an empty GameObject and go to Add Component -> Stylized Grass -> Stylized Grass Renderer. 

This component must be present for the grass bending to take effect. It creates a render area in which grass benders are processed. Though it is not required for the grass to render at all.

All parameters have tooltips, if you’re unsure what something is for, mouse over to view a description.

At runtime, the render area can follow any given Transform through the “Follow target” field. Any Grass Benders outside of it will not be processed. Ideally, you’d assign your player or Main Camera here so bending is always processed around what’s currently visible on screen. This can also be set at runtime through the static StylizedGrassRenderer.SetFollowTarget(Transform) function from other scripts.

Grass Benders

Bending can be performed through 3D shapes as represented by meshes, trails or particle effects. Their shape and position is translated by this component to the shader on the GPU, so no actual physics calculations are being used. This is done through the “Grass Bender” component

You can easily add a Grass Bender by opening the context menu on any Mesh Filter, Trail Renderer or Particle System component.

After which, a Grass Bender component will be added to the object

Move it around in scene-view, and you’ll see it taking effect on the grass placed in the scene.

You can create meshes, or trail renders as a child of your player object so it’ll follow it. It is recommended to create a sphere at the feet of the player, so grass always bends where it stands. Next to using a trail so the grass bends behind it when it moves. In any case, you can disable the renderer so the actual mesh isn’t visible, it’ll still be visible to the bending renderer.

In the Prefabs/Benders folder you can find several pre-configured prefabs for this purpose.


  • For a explosion particle effect, create a sub-particle system using a sphere and roughly the same lifetime. When it fires, the grass will appear to bend away by the force of the explosion
  • For ragdolls, create capsules for all the limbs and torso. When they are thrown to the ground, the grass will appear to be flattened by the body.


Particle effects must use meshes instead of billboards. To do so, go to the Particle System’s “Renderer” section and set the ‘Render Mode’ to ‘Mesh’, next assign a mesh, such as a sphere. You can disable the Renderer component, so it’s invisible to the eye.

With Unity’s TrailRenderer component. Trails retract at the same speed as they extend. Fast movement will cause the grass to also spring back rapidly. If a trail is not moving, its lifetime also doesn’t decrease.

The “BendTrailParticles” prefab is an alternative example of using a particle system to leave a trail of bent grass.

Yes No Suggest edit
Last updated on January 4, 2021
1 of 1 users found this section helpful
Suggest Edit