OmniShade PBR
OmniShadeOmniShade PBR
  • OmniShade PBR
  • Documentation
    • Getting Started
    • Features
    • Compatibility
    • Release Notes
    • FAQ
  • Gallery
    • Videos
    • Images
    • Playable Demo
  • Support
    • Support
    • About
Powered by GitBook
On this page
  • Shader Features
  • Other
  1. Documentation

Features

PreviousGetting StartedNextCompatibility

Last updated 3 months ago

Shader Features

Physically based lighting

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

Metallic map

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

Normal map

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. Secondary Normal map supported as well.

Occlusion map

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

Emission map

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. Can also mask it with the Metallic Map.

Vertex colors

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

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. You can also apply a Height Texture as the background with this effect.

Shadow Overlay

This effect projects a texture over objects using world-space positions, useful for creating global effects like rolling cloud shadows or tree leaf overhangs. It is fully animatable through the shader, either as a scrolling or ping-pong movement. Speed and sway amount are adjustable.

Plant Sway

Useful on vegetation to simulate movement by wind. Uses a vertex-shader based animation dependent on object height. Animation is fully done in the shader, and plant type can be set for plant or leaves. The sway amount and speed are adjustable. The phase variation affects the synchronicity of the objects affected.

Camera Fade

Fades the transparency of the object as it approaches the camera. Use Fade Start Distance and Fade End Distance to adjust when the fading occurs.

Opaque and transparent versions

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

Used for with tools such as . 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.

Similar to Photoshop layers, these are useful for decals or with tools like . 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.

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 on the PBR Master Node.

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 , so you can expect it to fully function with all of Unity's great lighting features, and have the widest compatibility going forwards. We also used a highly modular design, with 15+ subgraphs, so you can reuse any of the components in shader graphs you design yourself.

Standard
Metallic
Smoothness
PBR Master Node
Metallic
Smoothness
Normal maps
Occlusion map
Emission
vertex painting colors
Polybrush
terrain splatting
Polybrush
Material Options
Shader Graph
Page cover image