right-click on image -> “Open in new tab” for full graph

SHADERS - COMBINED SHADER

About the project

I was getting annoyed how most texturing programs out there work with “Roughness” pipeline but Unity’s URP rendering pipeline is using “Smoothness” texture map. I decided to make my own shader.

One of the reason was to add more features to this shader such as Detail map, which was not supported by URP’s shaders. Additional problem I wanted to solve was to save some disk space and memory for textures. I achieved this by packing data textures to different channels and reducing the amount of textures.

Shader uses three textures to achieve better looking visuals and optimized performance. Diffuse texture which defines Albedo properties of a surface, Mask texture which is the most important because it defines how light influences surface and Detail mask for very small details which are visible only at up-close.

For faster development process I made Krita texture exporter.


Description

DIFFUSE TEXTURE: It's a sRGB (Color texture) texture format. Base Albedo property of a surface. RGB channels are used for Albedo definition. If Alpha Channel is used it represents material's Alpha.

MASK TEXTURE: It's a Data texture format.
R - Metalness
G - Occlusion
B - Mask for detail map
A - Smoothness

DETAIL MASK TEXTURE: It's a Data texture format.
R - Desaturate albedo
G - Smoothness
B - Detail normal mask