The purpose of this article is to guide you through Sketchfab's implementation of PBR, not to teach you how to use PBR. There are many great resources on PBR theory and practice, including Allegorithmic's PBR Guide.
What is PBR?
Physically Based Rendering (PBR) is a method of shading and rendering that provides a more accurate representation of how light interacts with surfaces. It can be referred to as Physically Based Rendering (PBR) or Physically Based Shading (PBS). Depending on what aspect of the pipeline is being discussed, PBS is usually specific to shading concepts and PBR specific to rendering and lighting. However, both terms describe on a whole, the process of representing assets from a physically accurate standpoint. - Wes McDermott, Allegorithmic PBR Guide, Vol. 2
PBR on Sketchfab
You can switch between Classic and PBR rendering in Scene Settings. By default, uploads are set to PBR mode. This is almost always the best choice. It provides more realistic material and lighting, and does not prevent anything that could be done in a Classic workflow. Shading must be Lit for PBR lighting and reflections to work. Using an Environment to light the scene is typically the best option. See Lighting.
The PBR material tools are available in 3D Settings.
- From your model, click 3D Settings or add "/edit" to the end of any model URL.
- Select the Materials panel in the top left.
See also Materials and Textures.
PBR has two main workflow options: Metalness and Specular.
The channels specific to Metal/Roughness are Base Color, Metalness, and Specular F0.
- Base Color: an (s)RGB texture or solid color for reflected color (non-metals a.k.a. 'dielectrics') or reflectance values (metals)
- Metalness: a linear grayscale texture; black (0.0) for non-metal and white (1.0) for raw metal
- Specular F0: a linear grayscale texture for Fresnel values (non-metals)
The channels specific to Specular/Glossiness are Albedo and Specular.
- Albedo: an (s)RGB texture or solid color, without reflectance values
- Specular: an (s)RGB texture or solid color for reflectance values (metals, color) and F0 (non-metals, grayscale)
Anisotropic reflections are stretched across a surface due to patterned roughness on that surface. Some common use cases are hair and brushed steel. See more: Anisotropy
Roughness / Glossiness
A linear grayscale texture, or a solid grayscale color, for describing surface irregularities. See Diffuse vs Specular Reflections.
A grayscale depth map to displace a model's vertices. The model must be subdivided as needed before uploading because we cannot generate new vertices in real time.
Normal / Bump Map
A texture to add bumps and dents. Enable Invert Y to reverse the bumps and dents. Its usage is the same in PBR and Classic. See also Tangent Space and Normal Maps.
Subsurface Scattering / Skin
The Subsurface scattering (SSS) channel simulates the effect of light scattering inside an object. It is useful for translucent materials like skin, wax, and ice.
- The Subsurface scattering texture is a grayscale texture. It works as a mask to indicate where the effect is visible and how strong it is.
- The Subsurface profile is two colors that define the behavior and color of scattered light. It works similarly to the UE4 Subsurface Profile Shading. You may use up to 3 profiles per model.
- The Subsurface color is multiplied by the scattering color and can be used as a weight for the subsurface effect. 100% black means there is no subsurface effect, and 100% white means that all light that enters the material is scattered. Non-grayscale values give more control over color contribution.
- The Falloff color defines the material scattering color after light has entered the material.
The Translucency channel controls the backscattering of light behind an object. It is useful for materials like leaves and thin body parts like ears and noses.
- The Translucency texture is a grayscale texture that defines the depth or thickness of the material. Black values represent thin parts of the model, and white values represent thick parts of the model.
- The Color defines the color of the light passing through the object. It is usually the same as the subsurface profile color.
- The Thickness factor indicates how light is being dispersed.
Here is the same model with Subsurface scattering disabled:
The Clear Coat channel simulates the effect of a thin reflective layer on top of a surface. A common use case is the transparent coating on top of car paint. It can also be used for things like varnish on wooden furniture, wet surfaces, or anything that benefits from having multiple layers.
You can control the coat's Intensity (grayscale texture or single value), Thickness, Reflectivity, and Tint (solid color). You can also add surface Roughness (grayscale texture or single value) and a Normal Map.
Ambient Occlusion (AO)
A texture to define large areas of occluded light. Usually, AO only affects the diffuse light contribution. You can enable Occlude specular to also occlude the specular contribution (reflections). It is similar to Lightmap in Classic.
A texture to define small areas of occluded light. It does not exist in Classic.
Sketchfab supports several transparency modes: Blending, Refraction, Additive, Dithered, and Mask. Its usage is the same in PBR and Classic.
See Transparency for details.
A texture or a solid color to make the material glow. Its usage is the same in PBR and Classic.
You can switch between rendering both sides of a material surface or just the front face. Single-sided rendering (back-face culling) is often a good choice for 3D scans. It can also help performance. Other applications include Cel Shading and Cartoon Outlines. Its usage is the same in PBR and Classic.
Once you've made your adjustments, including position and orientation, be sure to update your model's thumbnail image and default position with Save View and/or save your changes with Save Settings. You can return to your model by clicking either the model's name or Exit.