PBR Terrain
What is it?
PBR Terrain is a feature which allows applying PBR materials to the Terrain in Second Life.
PBR Terrain was released in the Second Life Featurettes viewer on June 10, 2024, which also added 2K textures and mirrors.
A few important notes about using PBR materials on terrain:
- Unlike PBR materials on objects, PBR terrain does not provide a Blinn-Phong (non-PBR) fallback. Older viewers that do not support PBR materials will see grey terrain.
- PBR Terrain supports all of the features of SL PBR material assets, with the exception of double-sided and alpha blend. Material assets with these unsupported features cannot be applied to terrain (and the viewer will warn you about the unsupported features in the error message).
- Due to a limitation on the number of textures supported by MacOS and some lower graphic settings, emissive PBR material elements are not currently displayed on these systems when used for terrain. PBR materials will still be visible, but will lack the glow of emissive elements in the material. (Basically, on MacOS and lower end machines, emissive PBR materials will lack glowing or light elements but will otherwise display as expected -- just dimly)
- Triplanar mapping is enabled by default on PBR terrain when the graphics quality setting is set to "High" or higher.
How to apply PBR Terrain
Before you can apply PBR terrain, you will need to acquire some PBR material items.
Method 1: Use the Region/Estate tool (requires region terrain composition edit permission)
- Click World > Region/Estate > Terrain
- Click on Terrain Textures and ensure "PBR Metallic Roughness" is checked
- Set PBR materials for all four material swatches
- Click Apply
- To go back to using terrain textures, uncheck "PBR Metallic Roughness", and apply the desired textures
Method 2: Use the debug settings (not persistent, visible only to you, debug settings subject to removal)
- Click Advanced > Show Debug Settings
- Copy the material UUID you want from your inventory to your clipboard
- Set LocalTerrainAsset1, LocalTerrainAsset2, etc to the material UUIDs you want to use
- To go back to using the real terrain textures/materials, set LocalTerrainAsset1, LocalTerrainAsset2, etc all back to their defaults, or restart your viewer
Texture Transforms
| Warning! Future feature | |
|
This feature will be supported in the upcoming "Barbecue" simulator release. |
Custom texture transforms can be applied to PBR terrain, allowing for custom scale, rotation, or offset. There is one texture transform per material swatch (4 total). Applying a texture transform to each individual texture info is not supported.
The transforms are thus compliant with a subset of the KHR_texture_transform specification. The UV origin is defined as the Southwest corner of the region, with positive U facing East and positive V facing South.
Method 1: Use the Region/Estate tool (requires region terrain composition edit permission)
- Click World > Region/Estate > Terrain
- Click on Terrain Textures and ensure "PBR Metallic Roughness" is checked
- Set PBR materials for all four material swatches as desired
- Go to the "Transforms" sub-tab, and set texture transform parameters for each material as desired
- To go back to using the respective default texture transforms, set the respective settings to their defaults
Method 2: Use the debug settings (not persistent, visible only to you, debug settings subject to removal)
- Click Advanced > Show Debug Settings
- Important: Ensure LocalTerrainAsset1, LocalTerrainAsset2, etc are set to valid materials (Local terrain texture transforms will not affect the persistent region terrain, even if the region terrain uses PBR)
- Look for debug settings prefixed with, "LocalTerrainTransform", and set their values as desired. For example, LocalTerrainTransform1Rotation sets the rotation for material 1.
- To go back to using the respective default texture transforms, set the respective settings to their defaults
Graphics support
Emissive texture
When possible, PBR terrain respects all parameters of version 1.1 of the SL Material asset, with the exception of double-sided.
On graphics drivers that do not support binding more than 16 textures, the emissive textures will be dropped, in accordance with the GLTF specification.
Other textures
Further terrain textures may be dropped at low graphics settings to maintain performance.
Developer Information
The Second Life viewer determines the terrain type via a double-lookup of the asset IDs.
For PBR terrain, texture repeats are sent both ways as GLTF overrides in LSL notation format.
Further implementation details of PBR terrain can be found in the following test documents: