General information
In order for 3D model textures to be collected, the scene must contain a supported material structure.
This document provides a list of various methods for connecting PBR textures in both Blender and Autodesk 3ds Max.
- BaseColor
- Normal
- Roughness
- Metalness
- Emissive
- AO
- Opacity
Note:
- AO, Metalness, Roughness textures could be presented as ORM or RMA textures.
- Opacity could be presented in the BaseColor alpha channel.
- Due to the limitations of FBX, when exporting and importing an FBX file between different software, it is possible that certain material nodes and textures within the material may not be preserved.
Material preparation:
Autodesk 3ds Max
Supported materials
Physical Material setup
-
- AO, Metalness, Roughness, Opacity, Normal, ORM, RMA gamma should be 1.0
- BaseColor, Emissive gamma should be 2.2
-
- AO, Metalness, Roughness, Opacity, Normal, ORM, RMA should be Raw
- BaseColor, Emissive should be sRGB
- Manual gamma should be 1.0
BaseColor
Option 1
Bitmap node with a BaseColor texture connected directly to the material Base Color map input slot.
Option 2
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Bitmap Lookup map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Transparency Color map or Cutout (Opacity) map input slots.
Option 3
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Uber Bitmap map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Transparency Color map or Cutout (Opacity) map input slots.
Roughness
Metalness
Normal
Option 1
Bitmap node with a Normal texture connected directly to the material Bump map input slot.
- If Normal map file name has DirectX or OpenGL suffix then Normal type will be set for the collected textures accordingly to the suffix.
- If Normal map does not have suffix with Normal type then Normal type will not be set.
Emissive
AO
Option 1
Unconnected Bitmap node with an AO texture matching one of the naming patterns in case scene has only one material.
- {texture_name}_AO.{file_extension}
- {texture_name}_AmbientOcclusion.{file_extension}
- {texture_name}_Ambient_Occlusion.{file_extension}
- {texture_name}_Occlusion.{file_extension}
Option 2
Bitmap nodes with an AO and BaseColor textures connected to the RGB Multiply node which is connected to the material Base Color map input slot. AO texture file name should match one of the naming patterns.
- {texture_name}_AO.{file_extension}
- {texture_name}_AmbientOcclusion.{file_extension}
- {texture_name}_Ambient_Occlusion.{file_extension}
- {texture_name}_Occlusion.{file_extension}
Option 3
Bitmap nodes with an AO and BaseColor textures connected to the Composite node which is connected to the material Base Color map input slot.
- BaseColor connected to the Composite Layer 1 input slot.
- AO connected to the Composite Layer 2 input slot. Layer 2 blend mode set as Multiply.
Option 4
Bitmap nodes with an AO and BaseColor textures connected to the OSL Multiply(color) node which is connected to the material Base Color map input slot. AO texture file name should match one of the naming patterns.
- {texture_name}_AO.{file_extension}
- {texture_name}_AmbientOcclusion.{file_extension}
- {texture_name}_Ambient_Occlusion.{file_extension}
- {texture_name}_Occlusion.{file_extension}
Option 5
Bitmap nodes with an AO and BaseColor textures connected to the OSL Composite node which is connected to the material Base Color map input slot.
- BaseColor connected to the OSL Composite Bottom layer RGB input slot.
- AO connected to the OSL Composite Top layer RGB input slot. Blend mode set as Multiply.
Opacity
Option 1
Bitmap node with an Opacity texture connected directly to the material Transparency Color map or Cutout (Opacity) map input slots.
Option 2
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Bitmap Lookup map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Transparency Color map or Cutout (Opacity) map input slots.
Option 3
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Uber Bitmap map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Transparency Color map or Cutout (Opacity) map input slots.
ORM
Option 1
RGB Tint maps should be used to separate texture RGB channels. To extract required channel from the texture, color for required channel in RGB Tint map should be set as white, for other channels it should be black.
- RGB Tint map which represents AO should be connected to the material in the same way as separate AO texture. AO Setup
- RGB Tint map which represents Roughness should be connected directly to the material Roughness map input slot.
- RGB Tint map which represents Metalness should be connected directly to the material Metalness map input slot.
Option 2
OSL Color Correction map should be used to separate texture RGB channels.
- Red output channel connected to the material in the same way as separate AO texture. AO Setup
- Green output channel connected directly to the material Roughness map input slot.
- Blue output channel connected directly to the material Metalness map input slot.
RMA
Option 1
RGB Tint maps should be used to separate texture RGB channels. To extract required channel from the texture, color for required channel in RGB Tint map should be set as white, for other channels it should be black.
- RGB Tint map which represents Roughness should be connected directly to the material Roughness map input slot.
- RGB Tint map which represents Metalness should be connected directly to the material Metalness map input slot.
- RGB Tint map which represents AO should be connected to the material in the same way as separate AO texture. AO Setup
Option 2
OSL Color Correction map should be used to separate texture RGB channels.
- Red output channel connected directly to the material Roughness map input slot.
- Green output channel connected directly to the material Metalness map input slot.
- Blue output channel connected to the material in the same way as separate AO texture. AO Setup
Other textures
All other additional textures (SSS Color map, IOR map, etc.) connected to the material slots will be collected and renamed based on the material slot to which they are connected.
PBR Material setup
BaseColor
Option 1
Bitmap node with a BaseColor texture connected directly to the material Base Color map input slot.
Option 2
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Bitmap Lookup map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Opacity map input slots.
Option 3
If BaseColor texture has an Opacity map in the alpha channel, then:
- OSL Uber Bitmap map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Opacity map input slots.
Roughness
Metalness
Normal
Option 1
Bitmap node with a Normal texture connected directly to the material Normal map input slot.
Option 2
Bitmap node with a Normal texture connected to the Normal Bump node which is connected to the material Normal map input slot.
Normal map type (DirectX, OpenGL)
- If Normal map file name has DirectX or OpenGL suffix then Normal type will be set for the collected textures accordingly to the suffix.
- If Normal map does not have suffix with Normal type then Normal type will not be set.
Emissive
AO
Opacity
Option 1
Bitmap node with an Opacity texture connected directly to the material Opacity map input slot.
Option 2
If Opacity map is presented in the BaseColor alpha channel, then:
- OSL Bitmap Lookup map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Opacity map input slot.
Option 3
If Opacity map is presented in the BaseColor alpha channel, then:
- OSL Uber Bitmap map should be used to load a texture with an alpha channel.
- RGB output should be connected to the material Base Color map input slot.
- Alpha output should be connected to the material Opacity map input slots.
ORM
Option 1
RGB Tint maps should be used to separate texture RGB channels. To extract required channel from the texture, color for required channel in RGB Tint map should be set as white, for other channels it should be black.
- RGB Tint map which represents AO should be connected directly to the material AO map input slot.
- RGB Tint map which represents Roughness should be connected directly to the material Roughness map input slot.
- RGB Tint map which represents Metalness should be connected directly to the material Metalness map input slot.
Option 2
OSL Color Correction map should be used to separate texture RGB channels.
- Red output channel connected directly to the material AO map input slot.
- Green output channel connected directly to the material Roughness map input slot.
- Blue output channel connected directly to the material Metalness map input slot.
RMA
Option 1
RGB Tint maps should be used to separate texture RGB channels. To extract required channel from the texture, color for required channel in RGB Tint map should be set as white, for other channels it should be black.
- RGB Tint map which represents Roughness should be connected directly to the material Roughness map input slot.
- RGB Tint map which represents Metalness should be connected directly to the material Metalness map input slot.
- RGB Tint map which represents AO should be connected directly to the material AO map input slot.
Option 2
OSL Color Correction map should be used to separate texture RGB channels.
- Red output channel connected directly to the material Roughness map input slot.
- Green output channel connected directly to the material Metalness map input slot.
- Blue output channel connected directly to the material AO map input slot.
Multi/Sub-Object Material
Blender
Supported materials
Principled BSDF Material setup
BaseColor
Option 1
Image texture node with a BaseColor texture connected directly to the material Base Color input slot.
Option 2
If BaseColor texture has an Opacity map in the alpha channel, then:
- Color channel of the Image texture node with a BaseColor texture should be connected to the material Base Color input slot.
- Alpha channel of the Image texture node with a BaseColor texture should be connected to the material Alpha input slot.
Roughness
Metalness
Normal
Option 1
Image texture node with a Normal texture connected directly to the material Normal input slot.
Option 2
Image texture node with a Normal texture connected directly to the Color input in the Normal map node which is connected to the material Normal input slot.
- If Normal map file name has DirectX or OpenGL suffix then Normal type will be set for the collected textures accordingly to the suffix.
- If Normal map does not have suffix with Normal type then Normal type will not be set.
Emissive
AO
Option 1
Unconnected Image texture node with an AO texture matching one of the naming patterns.
AO texture file name patterns (Case insensitive):
- {texture_name}_AO.{file_extension}
- {texture_name}_AmbientOcclusion.{file_extension}
- {texture_name}_Ambient_Occlusion.{file_extension}
- {texture_name}_Occlusion.{file_extension}
Option 2
AO combined with BaseColor texture by using Multiply node which is connected to the material Base Color input slot. AO texture name should match one of the naming patterns.
AO texture file name patterns (Case insensitive):
- {texture_name}_AO.{file_extension}
- {texture_name}_AmbientOcclusion.{file_extension}
- {texture_name}_Ambient_Occlusion.{file_extension}
- {texture_name}_Occlusion.{file_extension}
Option 3
Image texture node with an AO texture connected to color input in unconnected custom group node named glTF Settings
Option 4
Image texture node with an AO texture connected to Occlusion input in unconnected custom group node named glTF Material Output
Opacity
Option 1
Image texture node with an Opacity texture connected directly to the material Alpha input slot.
Option 2
If Opacity map is presented in the BaseColor alpha channel, then:
- Color channel of the Image texture node with a BaseColor texture should be connected to the material Base Color input slot.
- Alpha channel of the Image texture node with a BaseColor texture should be connected to the material Alpha input slot.
ORM
- Red output connected to the material in the same way as separate AO texture. AO Setup
- Green output connected to the Roughness input slot
- Blue output connected to the Metallic input slot
RMA
- Red output connected to the Roughness input slot
- Green output connected to the Metallic input slot
- Blue output connected to the material in the same way as separate AO texture. AO Setup