FBX Texture RelativeFilename access

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?

@bortos

We will surely investigate the feasibility of your requested feature. For the investigation purpose, a ticket with THREEDNET-899 ID has been logged in our issue tracking system. We will further inform you once it is resolved. Please give us some time.

The issues you have found earlier (filed as THREEDNET-899) have been fixed in Aspose.3D for .NET 21.6.