FBX Import + Export GlobalSettings

Howdy

I’m curious about the GlobalSettings properties within an fbx file and whether they will be exposed by the Aspose.ThreeD.AssetInfo class as properties.

I exported a model from 3ds max to fbx ascii and these were the values:

GlobalSettings: {
Version: 1000
Properties70: {
P: “UpAxis”, “int”, “Integer”, “”,1
P: “UpAxisSign”, “int”, “Integer”, “”,1
P: “FrontAxis”, “int”, “Integer”, “”,2
P: “FrontAxisSign”, “int”, “Integer”, “”,1
P: “CoordAxis”, “int”, “Integer”, “”,0
P: “CoordAxisSign”, “int”, “Integer”, “”,1
P: “OriginalUpAxis”, “int”, “Integer”, “”,2
P: “OriginalUpAxisSign”, “int”, “Integer”, “”,1
P: “UnitScaleFactor”, “double”, “Number”, “”,100
P: “OriginalUnitScaleFactor”, “double”, “Number”, “”,100.00000066
P: “AmbientColor”, “ColorRGB”, “Color”, “”,0,0,0
P: “DefaultCamera”, “KString”, “”, “”, “Producer Perspective”
P: “TimeMode”, “enum”, “”, “”,6
P: “TimeProtocol”, “enum”, “”, “”,2
P: “SnapOnFrameMode”, “enum”, “”, “”,0
P: “TimeSpanStart”, “KTime”, “Time”, “”,0
P: “TimeSpanStop”, “KTime”, “Time”, “”,153953860000
P: “CustomFrameRate”, “double”, “Number”, “”,-1
P: “TimeMarker”, “Compound”, “”, “”
P: “CurrentTimeMarker”, “int”, “Integer”, “”,-1
}
}

It would be nice if I had some awareness or control over these values, primarily the axis values to allow me to modify the coordinate system.

I also believe this information may be lost when opening a scene, and then saving the scene. The saved result is different from the source when opened in 3ds max/Unity 3d. I imagine because the axis values are lost.

I have found documentation here on the values: FBX C++ API Reference: FbxAxisSystem Class Reference

It’s not an easy task, I imagine, and it may have backward compatibility issues if introduced.

Also, I’ve scoured the knowledge based and I can’t really find an answer, or whether this next question make sense…
Does Aspose.ThreeD.Scene load files in a coordinate system that is consistant across all file types?

Thanks

@bortos

Thank you for contacting support.

We are gathering information and will get back to you with our findings soon.

@bortos

Thank you for being patient.

We would like to update you that AssetInfo class currently exposes few properties of GlobalSettings. Therefore, an enhancement ticket with ID THREEDNET-421 has been logged in our issue management system. The ticket ID has been linked with this thread so that you will receive notification as soon as the ticket is resolved.

Moreover, Aspose.ThreeD.Scene loads files in consistent coordinate system in some cases only. For example, some file types load options has a flip coordinate system switch, it does a simple right or left hand conversion. Whereas, some file types have highly customizable coordinate system, in order to prevent the scene corruption which is caused by the coordinate system conversion, it only preserves the values when the file is read.

We hope this will be helpful. Please feel free to contact us if you need any further assistance.

The issues you have found earlier (filed as THREEDNET-421) have been fixed in this update.