Update August 2023 – The Linden Lab PBR Viewer is now a Release Candidate and gradually addressing issues as they are raised. Firestorm also has an Alpha PBR Test viewer available through the inworld “Phoenix-Firestorm Preview Group”.
Physically Based Rendering (PBR) and glTF materials use is coming to Second Life and a project viewer already exits for testing things using the Beta Grid. This blog post is to gather resources relevant to using PBR in Second Life.
- PBR needs OpenGL4 or later, though systems without that will see normal rendering.
- Physically Based Rendering Wiki: https://wiki.secondlife.com/wiki/PBR_Materials
- How to create a Metallic-Roughness! YouTube video by Medhue Animations
- PBR – An Introduction/Authoring Guide by studio-397.com.
- Download the latest GLTF PBR Materials Project Viewer – or watch for it being incorporated into the main viewer
- Interested in checking out the upcoming materials features? Visit our Support site’s Accessing Aditi page to get started by requesting access to our Beta testing grid, Aditi.
- Updated July 2023: PBR is currently available for use on the Second Life grid on a limited number of regions (e.g. Rumpus Room and Rumpus Room 2-5) and on the Beta grid (Aditi) and also only on specific regions: Materials1, Materials Adult, Rumpus Room 1 (through 4).
Sample PBR Materials
- https://polyhaven.com/textures – Format GL not DX.
- Free PBR – free PBR materials and texture files
- Ambient CG – Public Domain Resources for Physically Based Rendering
- Other free PBR materials: vgbookcase.com, sharetextures.com
- Normal Map Generator [ Source Code ]
- A database of physically based values for CG artists to make realistic materials – https://physicallybased.info/ [ See this wiki entry for further advice ]
- Base Color [RGB] + Transparency [A]
- Occlusion [R] / Roughness [G] / Metallic [B] – 3 unrelated grayscale images stored in 3 different colour channels of an RGB texture.
- Emissive [RGB]
- Normal [RGB] – Uses Mikkelsen Tangent Space (MIKKT) as usually used in Unity.
See https://wiki.secondlife.com/wiki/PBR_Materials#PBR_Material_Composition. In order to be compliant with the GLTF specification and conform to industry norms, Alpha blending and atmospherics have been moved from sRGB Colour Space to Linear Colour Space
Creating PBR Materials in Blender
Create your materials within Blender using Principled BSDF Shader Nodes. Export them according to the official Blender Documentation for glTF materials. Second Life does not support BSDF Clearcoat, Subsurface, Anisotropy or Transmission parameters at this time.
Note tint of Emissive slot should be white to work. It is black in the image above.
Other PBR Creation Tools
- Material Maker – Export using the Godot 4 ORM preset.
Initial Tests of PBR Materials on Second Life Beta Test Grid (Aditi)
Reflection Probes are a key component for making PBR work. They act as the source of the environmental reflections used on surfaces. The details are still in development and may change, but the idea is that most reflection probes will be added automatically by the underlying system, but that creators and builders can add specific probes to tailor the environment to specific contexts, such as having separate reflection probes for each room in a building. Probes can be a box or spherical with a defined X,Y,Z size. Once a reflection probe is set up it turns invisible and will not normally be clickable or selectable so other normal objects can easily be touched or edited. But reflection probes can be highlighted via the Build -> Options menu (they will show as yellow volumes) and the same menu allows for the reflection probes to become clickable to edit.
An object in world can be turned into a reflection probe via the “Features” tab in the build tool while editing the object. Some choices of what is reflected and how often in the object can be chosen and objects within a space near the origin of the object can be excluded (via “near clip”).
Previous Mesh Content Checks
I tested out some of my previous complex mesh models, which use the old style texturing and shininess.
Second Life University – How to Create PBR Materials