PBR

PBR, short for Physically Based Rendering, is a rendering method first introduced by Disney in 2012 and later widely adopted by the gaming industry. Compared to traditional rendering methods like Blinn-Phong, PBR adheres to energy conservation and follows physical principles. Artists only need to adjust a few simple parameters to achieve accurate rendering results, even in complex scenes. PBR incorporates energy conservation, is physically-based, and introduces IBL (Image-Based Lighting) to simulate global illumination. By using parameters such as metallic and roughness, it allows for more convenient adjustment of rendering effects.

Introduction to Basic PBR Parameters

ParameterApplication
metallicMetallic Level: Simulates the metallic nature of a material. The higher the metallic value, the stronger the specular reflection, allowing more surrounding environment to be reflected.
roughnessRoughness: Simulates the material's roughness. The higher the roughness, the less smooth the micro-surface becomes, resulting in more diffuse specular reflections.
roughnessMetallicTextureMetallic-Roughness Texture: Works in conjunction with metallic and roughness values, using a multiplicative relationship.
baseColorBase Color: Base Color × Base Color Texture = Final Base Color. Base color represents the material's reflectance value. Unlike traditional diffuse colors, it contributes to both specular and diffuse reflections. You can adjust the metallic and roughness properties to control the ratio of these contributions.
emissiveColorEmissive Color: Allows materials to emit light, rendering colors even without illumination.
baseTextureBase Color Texture: Works with base color in a multiplicative relationship.
normalTextureNormal Map Texture: Simulates surface bumps visually using a normal map, with adjustable strength to control the intensity of the effect.
emissiveTextureEmissive Texture: Used in conjunction with emissive color(emissiveFactor)to achieve self-emitting effects.
occlusionTextureOcclusion Texture: Enhances shadow detail using an occlusion map.
tilingOffsetTexture Tiling and Offset: A Vector4 controlling the tiling and offset of the texture in the UV directions,See example
clearCoatClear Coat Intensity: Default is 0, meaning the clear coat effect is disabled. See example
clearCoatTextureClear Coat Intensity Texture: Works multiplicatively with clearCoat.
clearCoatRoughnessClear Coat Roughness: Determines the roughness of the clear coat layer.
clearCoatRoughnessTextureClear Coat Roughness Texture: Works multiplicatively with clearCoatRoughness.
clearCoatNormalTextureClear Coat Normal Texture: If not set, it defaults to using the base material's normal texture.

Adjusting the metallic property reveals that higher metallic values make the environment reflection more vivid, transitioning from pure white to colored. This happens because fully metallic surfaces (metallic = 1) reflect 100% of the light, including the surrounding environment:

Beyond these general parameters, PBR supports two workflows: Metallic-Roughness and Specular-Glossiness, corresponding to PBRMaterial and PBRSpecularMaterial

PBRMaterial

Anisotropy

Anisotropy refers to the material's property of reflecting light differently in various directions, often seen in materials like metals, fabrics, and hair.
ParameterApplication
anisotropyAnisotropy Strength: Default is 0, disabling anisotropic effects. See example
anisotropyRotationAnisotropy Rotation: Rotates the effect in tangent space.
anisotropyTextureAnisotropy Texture: The RG channels store direction information (combined with anisotropyRotation), while the B channel stores anisotropy strength (multiplied by anisotropy).

To enable anisotropy

  • Navigate to the Inspector Enable anisotropy and adjust its parameters:

Sheen

Typically used to simulate the subtle glossy effect of surfaces like fabrics, this effect is usually visible at certain viewing angles. It mimics the light-scattering characteristics of materials like silk, velvet, or other finely textured surfaces.

ParameterDescription
sheenColorBase sheen color of the surface. This property determines the observed glossy color when light interacts with the surface.
sheenColorTextureAdds more complex and detailed variations to the sheen color. Using this texture allows different areas of the surface to exhibit distinct glossy colors.
sheenRoughnessDefines the surface roughness. Lower values indicate smoother surfaces with more concentrated gloss, while higher values create rougher surfaces with softer, more diffused gloss.
sheenRoughnessTextureAllows variations in roughness across the surface using a texture, enabling detailed roughness patterns for more realistic effects.
Glossy variations on fabric surfaces at different angles

Enable sheen

  • Select the material and adjust the corresponding parameters to achieve the desired effect:

Thin Film Iridescence

This effect causes surface colors to change based on the viewing and lighting angles. It's commonly seen in natural phenomena like soap bubbles, insect wings, pearls, and more.
ParameterDescription
iridescenceIntensity of the thin-film iridescence, ranging from 0 to 1.
iridescenceTextureTexture controlling the intensity of the thin-film iridescence.
iridescenceIORIndex of refraction for the thin-film effect, influencing the degree of light bending and resulting colors.
iridescenceThicknessRangeDefines the thickness range of the thin film, determining the color variation caused by the iridescence effect.
iridescenceThicknessTextureTexture defining the thickness variation of the thin film, influencing the final colors.
Thin film iridescence effect

Enable Iridescence

Transmission

Describes the portion of light passing through an object rather than being reflected or absorbed. This phenomenon occurs in transparent or translucent materials when part of the light passes through the surface.
Variation of transmission from 0 to 1
ParameterDescription
transmissionControls the intensity of light transmission through the material, ranging from 0 (opaque) to 1 (fully transparent).
transmissionTextureA texture that multiplies with the transmission value, sampled from the R channel, to control varying transmission intensities across the surface.

Enable transmission

  • First, enable the Opaque Texture option in both the Camera and Scene settings:
  • Select the material and adjust the related transmission parameters:

Refraction occurs based on the physical principle that it requires transmission. This means refraction effects only apply when transmission is greater than 0.

Refraction

ParameterDescription
attenuationColorAbsorption color, determining the color change of light as it travels through the object. Useful for simulating colored glass, liquids, or gemstone effects.
attenuationDistanceThe distance over which light diminishes within the object. Shorter distances result in denser appearances with more pronounced color changes, while longer distances produce more gradual changes. A value of 0 means no attenuation.
thicknessRefraction thickness, controlling the bending of light as it passes through the object. Higher values produce more pronounced refraction, while smaller values create straighter light paths.
thicknessTextureA texture sampled from the G channel to define thickness variations. White areas represent greater thickness, black areas represent less, and it multiplies with the thickness value.
Changes in attenuationDistance and resulting color variations

Enable Refraction

  • After enabling transmission, set thickness to a value greater than 0 to activate refraction.
  • Adjust attenuation color, attenuation distance, and other parameters to fine-tune the effect.

Assumptions made for implementing the refraction algorithm:

A simple geometric approximation is used to simulate the surface characteristics of the object. The material's refraction mode is determined using refractionMode.

refractionModeDescription
SphereUses a sphere as the geometric approximation for the surface, efficiently handling light refraction on curved surfaces.
PlanarUses a plane as the geometric approximation for the surface, suitable for simulating transmission and refraction on flat materials.

PBRSpecularMaterial

ParameterApplication
specularColorSpecifies the specular highlight color directly instead of deriving it from metallic and base color values (only effective when the metallic-roughness workflow is disabled).
glossinessSimulates surface smoothness, opposite to roughness (only effective when the metallic-roughness workflow is disabled).
specularGlossinessTextureA texture for combining specular color and glossiness, with the values being multiplied together.

Note:PBR require ambient lighting to be enabled.

For scripting materials,refer to the Material Usage Guide.

Was this page helpful?