As discussed in our previous blog post, Physically Based Rendering (PBR) has become a widely adopted standard in the 3D industry, with a particular emphasis on the metallic/roughness workflow. This is because popular DCC apps like Blender, Maya, 3ds Max, and Cinema 4D can consistently render identical PBR scenes when artists use this method.
In this second installment of our PBR blog series, we’ll explore the latest 3D technologies that offer native support for PBR. This way, you’ll know which applications will let you simply drag and drop your materials into projects built on real-time rendering (RT), virtual reality (VR), augmented reality (AR), and mixed reality (MR).
This 3D model of a pay phone is perfectly incorporated into an augmented reality scene that utilizes physically based rendering support. The result is a photorealistic rendering that can be viewed in real time on a smartphone using a variety of engines and APIs with PBR support.
When it comes to exchanging PBR assets, two common file formats have been gaining popularity: USD and glTF.
- OpenUSD (Open Universal Scene Description) is a file format developed by Pixar Animation Studios that’s used for representing 3D scenes and assets. OpenUSD is designed to be highly scalable and can handle complex scenes with large numbers of assets. Recently, Pixar, Adobe, Apple, Autodesk, and NVIDIA, together with the Joint Development Foundation (JDF), announced the Alliance for OpenUSD (AOUSD) to promote the standardization, development, evolution, and growth of Pixar’s USD technology.
- glTF (Graphics Library Transmission Format) is a file format developed by the Khronos Group, specifically for transmitting 3D models over the internet. It’s designed to be lightweight and efficient and is optimized for use in web and mobile applications.
Both USD and glTF support PBR features, which means they are becoming valuable tools for exchanging assets between different software applications and platforms supporting their exporting and importing.
glTF and USD real-time viewers. The PBR texture maps and materials were converted seamlessly, and the assets are now compatible with a variety of applications that support the formats.
Digital Twins and Artificial Intelligence Training
Digital twins are virtual replicas of physical assets, processes, or systems that can be used to simulate, analyze, and optimize their performance in virtual environments. This allows engineers, designers, and operators to test different scenarios, identify potential issues, and improve their designs and operations. Some popular simulation platforms are quickly adopting PBR for real-time visual presentations, as shown below.
The NVIDIA Omniverse platform enables virtual collaboration and simulation, utilizing advanced graphics and physics engines to produce highly realistic simulations and AI training through digital twins. Additionally, the platform supports two main formats, USD and MDL, which adhere to the PBR metallic/roughness standard.
PBR has become an indispensable element for engines used in RT, VR, AR, and MR platforms. Recently, many of these engines have adopted the metallic/roughness workflow, which has proven to be an efficient approach to realistic 3D graphics. Some examples of such engines that have embraced this workflow include Unity, Unreal Engine, Godot, Open 3D Engine (O3DE), Babylon.js, Three.js, and Verge3D.
Unreal Engine and Unity are two editors for real-time content that support PBR assets out of the box.
All of the previously mentioned engines support PBR assets created in different 3D applications. That being said, it’s important to prepare assets for exchange formats such as FBX, glTF, or USD. 3D models usually require unwrapping and UV packed in the 0-1 space. Additionally, PBR material channels may need to be output as bitmap files.
Specialized 3D texturing apps like Substance Painter will do this for you when exporting the final result. However, PBR values created through nodes in your preferred DCC application’s shader editor should be properly baked and outputted as bitmap files.
This phone booth 3D model was organized into three UV sheets — one for the pay phone, one for the metal booth, and one for the glass panels. The PBR materials were then painted and baked out as texture bitmaps for base color, roughness, metalness, normal, ao, etc.
The roughness channel in this traffic cone shader was created through procedural nodes in Blender, and then a texture map was generated to convert the PBR material into a texture-based format, making it compatible with a variety of 3D applications that utilize PBR.
We hope you now have a better understanding of the 3D technologies that offer native support for PBR. In upcoming blog posts, we’ll dive into the world of PBR workflow optimization and share tips and tricks on how to make the most out of your PBR materials and textures in multiple 3D apps.
If you want to learn more right away, be sure to check out the links below.