A replacement for Unity's terrain grass shader with alpha blended rendering and touch bending effect
Clone or download
Latest commit 24e8bce Jan 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets fix priority type Jan 8, 2019
Packages Initial commit Dec 27, 2018
ProjectSettings Initial commit Dec 27, 2018
.gitattributes Initial commit Dec 27, 2018
.gitignore Initial commit Dec 27, 2018
LICENSE Initial commit Dec 27, 2018
README.md update readme Dec 29, 2018

README.md

Download package

For Unity 2018.3 and later: GrassBending.unitypackage. Check releases for previous versions support.

Please be aware that you don't need to clone the whole repository in order to use the extension in your project. Either download package from the link above or extract Assets/GrassBending folder from the repository project – it contains all the required assets; other stuff is just for testing purposes.

Description

The package contains a shader used for billboarded terrain details with waving and bending support and components to provide the required bend data to the shader.

How to use

Paint grass on the terrain. Make sure the grass is billboarded (it will use a default shader otherwise).

Add a BendGrassWhenEnabled or BendGrassWhenVisible component to a gameobject that should apply the bend effect when positioned over the grass.

BendRadius controls the radius of the bending sphere with center being the pivot of the gameobject.

Priority is used to control the bending source priority; when concurrent bend sources limit is exceeded, benders with lower priority values will be served first.

You can also add your own implementation of the IGrassBender interface instead of using the built-in bender components.

The bending grass shader replaces Unity's default Hidden/TerrainEngine/Details/BillboardWavingDoublePass shader used for the terrain grass when Billboard option is enabled. It additionally allows to control the wind waving and bending power via the healthy/dry color tint alpha; when alpha of the both colors is zero, the wind and bending won't affect the grass at all.