Procedural Concrete Shader (Shader Graph/HLSL)

Description

This is a procedural concrete shader that creates a realistic and dynamic representation of concrete with procedural cracks. The shader is created using HLSL and Shadergraph (Node-Based) within Unity Engine’s High Definition Render Pipeline. Several of it’s unique features are highlighted below:

  • Procedural Cracks and Divots: The shader generates cracks and divots procedurally, whilst maintaining a level of realism and detail. This allows artists to easily generate many variations of cracked, broken concrete.
  • Custom Voronoi Noise: The cracks make use of a custom Voronoi noise function. Unlike Unity’s built-in shader node, this custom function has a built-in output for the noise edges, which is required for generating the detailed appearance of cracks.
  • Fractal Brownian Motion: The detail within the cracks is generated using Fractal Brownian Motion (fBm). This algorithm creates noise that has a more natural and organic appearance, which enhances the realism of the cracks.
  • Simplex Noise: The grain and divots in the concrete are created using Simplex noise. This type of noise generates a more natural and organic pattern compared to other types of noise, making it ideal for creating the rough and irregular texture of concrete.

The shader’s parameters allow for the user to easily manipulate the following features:

  • Base Concrete: Base Colour, Dirt Colour, Tiling, Offset, Noise Strength
  • Cracks: Tiling, Offset, Colour, Rotation, Thickness, Detail, Noise Influence, Normal Strength
  • Divots: Tiling, Grain Tiling, Offset, Colour, Rotation, Detail, Noise Scale, Normal Strength, Divot Amount

Design a site like this with WordPress.com
Get started