Update – The Linden Lab PBR Viewer is now the default viewer for Second Life [Official Launch Post]. Firestorm also has an Alpha PBR Test viewer available through the inworld “Phoenix-Firestorm Preview Group”.
All Second Life main grid regions support PBR materials. OpenSim Dev version 0.9.3.0 from 2-Jan-2024 has full support for materials.
Physically Based Rendering (PBR) and glTF materials use
is coming to has arrived in Second Life and OpenSim. This blog post is to gather resources relevant to using PBR.
- 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.
- A Simple Introduction to PBR Materials, Reflection probes and glTF in Second Life blog post by Inara Pey, 28-Nov-2023.
PBR Tutorials and Guides
- Adobe PBR Guide – Part 1, Part 2 [PDF of PBR Guide]
- Achieving Color-Accurate Presentation with glTF – a description of how colour is perceived
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 ]
- Free PBR demonstration kit – Full Perm – Second Life Marketplace
- Free PBR Survival Kit – Full Perm – Second Life Marketplace – kit to learn about how PBR and environments look.
- Free AmbientCG PBR Material Megapack – from AmbientCG.com – CC0 – Full Perm – Second Life Marketplace
- Sample PBR Daycycle from Amagi – Allows Mod – Second Life Marketplace
HDRI Environments and Colour Checking
- The new Second Life PBR default midday can be simulated in 3D modellers using the Polyhaven “Cloud Layers” HDRI environment: https://polyhaven.com/a/cloud_layers
A free in-world “Color Checker Chart” is available from Jenna Huntsman on the Second Life Marketplace to help check colour under various lighting situations…
- 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 – Free PBR Creation Tool – Export using the Godot 4 ORM preset.
- glTF Packer – Tool from Ai-ai cap’n!.
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
Khronos glTF Test Viewer
Linden Lab has suggested that if content looks good in the Khronos GLTF Sample Viewer or Adobe Substance Painter but looks wrong when you import it into Second Life, please stop and file a bug immediately. Their goal is to adhere to the glTF specification. Please do not modify content in Second Life to work around situations where the Viewer does not adhere completely to the glTF spec.
Model Viewer (modelviewer.dev) – glTF/GLB Viewer and Validator