Features

Shader Features

Physically based lighting

As an extension of the Unity Standard (or Lit in URP) shader, OmniShade PBR also takes as input a Metallic and Smoothness parameter to compute the lighting. Metallic controls the "metalness" of a material, and Smoothness the surface roughness. The shader is built using the PBR Master Node, supporting all of Unity's lighting features.

Metallic map

Used as a mask for the Metallic and Smoothness values. The Metallic value is taken from the red channel, and Smoothness from the alpha channel.

Normal map

Normal maps are a special kind of texture that allow you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry.

Occlusion map

Occlusion map is a greyscale image providing information about which areas of the model should receive high or low indirect lighting.

Emission map

Emission is the light emanating from an object. The Emission Map is a mask for the light.

Rim light

Adds a light around the silhouette of the object, highly versatile for special effects, lighting detail, or emphasis. Tunable parameters include color, amount, and contrast. Also supports invert, and specifing a rim direction (in worldspace) as well.

Reflection

Applies a separate reflection on the object taken from a cube map. Parameters include color and reflection amount. If Mask With Rim is enabled, it works in pair with the rim's fresnel effect to strengthen the reflection at the edges.

Vertex colors

Used for vertex painting colors with tools such as Polybrush. Supports all RGBA channels. Toggleable on or off, with an amount and contrast setting. The channels can be used as a mask on the three texture layers and the Detail Map for texture painting effects as well. Be aware that the color resolution depends on the number of vertices in the mesh.

Detail map

Detail maps, or secondary maps, blend in granular details to the base texture using either a multiplicative or alpha-based blend mode. The alpha is sampled from the alpha-channel of the texture and Detail Color. There is also an option to mask the detail map with the vertex color alpha channel, useful in vertex painting.

Layers

Similar to Photoshop layers, these are useful for decals or terrain splatting with tools like Polybrush. The layers are rendered in order from 1 to 3, so that layer 3 is on top. The masking is controlled via the layer's alpha channel, in addition to a Color parameter. Also supports masking with vertex color RGB channels for texture painting.

Height-based colors

Highly versatile effect, this is useful for height-based coloring such as rendering the water line, tree roots, or even indirect lighting. Height can be set in either local or world space. Color, thickness, and edge thickness can be adjusted.
Opaque and transparent versions
Included is an opaque and transparent version. If you need additional culling or blend modes, you can duplicate a new shader graph and adjust these from the Material Options on the PBR Master Node.

Other

Progressively adaptive performance
Despite offering a wide range of features, OmniShade PBR is blazingly fast through the use of shader variants, only doing the minimal calculations needed for any set of enabled features, which it is able to detect automatically. This allows precise and granular control over the quality and performance to achieve maximum value.

Animating Textures

Included is a OmniShadePBRAnimateTexture component which can be used for easily animating the movement of any texture in the shader. Animation type can be either slide or ping-pong.
Shader Graph
We in the field understand that continual support is paramount to a product's viability in production. That's why we chose to build OmniShade PBR with Unity Shader Graph, so you can expect it to fully function with all of Unity's great lighting features, and have the widest compatibility going forwards. It will get Built-In support in Unity 2021.2, and will only get more features and faster with Unity updates. We also used a highly modular design, with 15+ subgraphs, so you can reuse any of the components in shader graphs you design yourself.
Copy link
On this page
Shader Features
Other