When loading an FBX with a texture reference I find the Filename is sometimes an absolute path from some applications.
There is also a relative path property in FBX, e.g in the below sample that I found on stackoverflow:
Texture: 785759328, "Texture::file1", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::file1"
Properties70: {
P: "CurrentTextureBlendMode", "enum", "", "",0
P: "UVSet", "KString", "", "", "map1"
P: "UseMaterial", "bool", "", "",1
}
Media: "Video::file1"
FileName: "D:/Dropbox/Projects/MyModel/MyTexture.jpg"
RelativeFilename: "MyTexture.jpg"
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
I can see in the below screenshot that the Aspose3d api also has knowledge about it, but keeps it internal/private and obfuscated.
image.png (20.0 KB)
In my pipeline I have to change Filename from absolute to relative, but when transferring files around the absolute path will be incorrect. Since we don’t have public access to RelativeFilename we no longer have the ability to fetch the texture unless we make some assumptions and try to find it.
Are we able to expose RelativeFilename as a property on texture for FBX support?