Shader Assignment
- Last UpdatedJan 22, 2025
- 2 minute read
When importing from FBX, the shader assignment can be either automatic or manual.
-
Automatic: A shader is assigned from a fixed list of shaders, depending on what is exported in the object material.
-
Manual: By using xr:mat User Parameters parameter, it is possible to flag an object to be assigned to a specific shader when imported. In that case, the importer will only rely on what is set in the xr:mat parameter and will not consider the material data exported within the FBS.
Assigning Automatic Shader
The FBX importer will check the available properties each object has, and will try to determine which type of MWX object it should generate. Both FBX exported material data and xr:mat parameters are included in the evaluation.
For example, with Mesh objects, the Shader is determined by looking at some specific Mesh properties such as Uv, Material, and so on.
If not specified otherwise, all the Shaders take lighting (including specular colors).
Components and Selected Shader
Starting from top to bottom of the following list, if a Mesh has all the components, then the relative Shader will be selected.
|
Components |
Selected Shader |
|---|---|
|
Vertex Color +UV1 + Diffuse Texture + Bump Texture + Normal + Tangent |
EngineLib|shFbxImport|VcDiffuseBumpUV1 Mesh with Vertex Color, Vertex Normal and Tangent values, and two Textures mapped to UV1: one in the Color/Diffuse channel, one in the Norma/Bump channel |
|
UV1 + Diffuse Texture + Bump Texture + Normal + Tangent |
EngineLib|shFbxImport|DiffuseBumpUV1 Mesh with Vertex Normal and Tangent values, and two Textures mapped to UV1: one in the Color/Diffuse channel, one in the Norma/Bump channel |
|
Vertex Color + UV1 + Diffuse Texture |
EngineLib|shFbxImport|VcDiffuseUV1 Mesh with Vertex Color, Vertex Normal, a Texture in the Color/Diffuse channel mapped to UV1 |
|
UV1 + Diffuse Texture |
EngineLib|shFbxImport|DiffuseUV1 Mesh with Vertex Color, Vertex Normal, and a Texture in the Color/Diffuse channel mapped to UV1 |
|
Material Color |
EngineLib|shFbxImport|VcMatDiffuse Mesh with Vertex Color, Vertex Normal, and the Diffuse Color in the Material |
|
Material Color |
EngineLib|shFbxImport|MatDiffuse Mesh with Vertex Normal and the Diffuse Color in the Material |
|
Material Color |
EngineLib|shFbxImport|MatDiffuseUnlit Mesh with just the Diffuse Color in the Material (it is the most basic shader) |