ImagesDescription
Real-time Grass Material
 
Real-time Grass Material
 
Real-time Grass Material

Grass applied to a spherical mesh, demonstrating versatility to extreme changes in angle.

Real-time Grass Material

Visualisation of wind animation.

Real-time Grass Material
 
Real-time Grass Material

Grass applied to a spherical mesh, demonstrating versatility to extreme changes in angle.

Real-time Grass Material

Work-in-progress video, showing grass halfway through development (UE4). FPS is suboptimal due to screen recording software limitations.

Real-time Grass Material

Video of the final product, demonstrating many of its features in a fun fly-through.

This is a grass creation kit consisting of alpha planes, utilising highly-optimised textures, and driven by an UE4 material. It exploits UE4’s geometry shader support to generate variation (mostly clustering) in the otherwise homogeneous alpha planes.

The end result uses a blend of HLSL I wrote by hand, and HLSL generated from UE4 materials I authored.

The grass has many features including:

  • LOD instance swapping based upon camera distance (used in combination with native instance culling)
  • Dynamic, sine wave wind (plus world-space perturbation map) that varies over time
  • Rigidity based upon UV derived gradients and vertex colours (for eccentricity)
  • Colour variation and clustering (i.e. translation along normal axis) to improve realism
  • World-space normal map projection (supplemental to tangent-space normal map)

It may be released to the UE4 Marketplace in the future, following the request of many studios.