- Messages
- 85
- Country

I've been experimenting with baking the AO onto my models. The only way I've been able to get it to show in FS however, is if I also bake the albedo/normals onto the same new UVs.
What I want to do, is to have my Albedo and Normal map on one set of UVs but the AO (and presumably the metallic and roughness as they're different channels of the same texture) on a different set of UVs.
This will let me have a nice, efficient albedo texture that's used on multiple areas of the model.
For example, here I've applied a generic 'brick' texture to a model:
It's nice and efficient as the brick is used on multiple faces. But I can't bake to these UVs as they overlap all over the place.
So I make a new set of non-overlapping UVs and bake the AO to them:
But in FS2020, it still uses the one set of UVs and so the AO is mapped wrong.
Is there a way to have different textures use different UVs? gltf seems to support it, if I add a UV node in Blender, set it to the second set of UVs and attach it to the metallic shader node the exported gltf code looks like this:
Note 'texcoord: 1' on the occlusionTexture. On a normal object, they're all set to texcoord 0.
There's also this line which seems to indicate that FS supports the AO on a different set of UVs:
What I want to do, is to have my Albedo and Normal map on one set of UVs but the AO (and presumably the metallic and roughness as they're different channels of the same texture) on a different set of UVs.
This will let me have a nice, efficient albedo texture that's used on multiple areas of the model.
For example, here I've applied a generic 'brick' texture to a model:
It's nice and efficient as the brick is used on multiple faces. But I can't bake to these UVs as they overlap all over the place.
So I make a new set of non-overlapping UVs and bake the AO to them:
But in FS2020, it still uses the one set of UVs and so the AO is mapped wrong.
Is there a way to have different textures use different UVs? gltf seems to support it, if I add a UV node in Blender, set it to the second set of UVs and attach it to the metallic shader node the exported gltf code looks like this:
Code:
"occlusionTexture" : {
"index" : 0,
"texCoord" : 1
},
"pbrMetallicRoughness" : {
"baseColorTexture" : {
"index" : 1,
"texCoord" : 0
},
"metallicRoughnessTexture" : {
"index" : 0,
"texCoord" : 1
}
}
Note 'texcoord: 1' on the occlusionTexture. On a normal object, they're all set to texcoord 0.
There's also this line which seems to indicate that FS supports the AO on a different set of UVs:
Code:
"msfs_show_ao_use_uv2" : 1,
