Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

why so much trouble with fbx imports.

Discussion in 'Asset Importing & Exporting' started by tripsan, Feb 19, 2018.

  1. tripsan

    tripsan

    Joined:
    Dec 26, 2013
    Posts:
    14
    some questions about FBX importing.
    i am currently using 3ds max 2018 and the 2018 FBX exporter.

    why is the coordinate system not properly converted on import and the object rotated instead?
    why must system units be scaled instead of correctly converted on import?

    both of these questions come from the understanding that a properly authored FBX file contains all the information to correctly import objects and have them be in the correct axis system, in the correct units and scaled correctly.

    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", "",1
    P: "OriginalUnitScaleFactor", "double", "Number", "",2.54
    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
    }


    in the above excerpt from the ascii version of an FBX file we can see the coordinate system and the system units of the authoring software. and since we know what unity's coordinate system and system units are this should be easy. yet still meshes come in scaled and rotated.

    the "file scale" checkbox seen when inspecting an FBX is a step in the right direction and if there was a "file Axis conversion" that would let you translate an FBX to a different up axis then we would be in business.

    i suspect i am missing something here. if it were this easy it would have been fixed by now i am sure.
    and perhaps its the exporter and not the importer, or even still maybe its a bit of both. regardless id like to get some feedback on this and hopefully a better picture of how unity reads and implements the FBX format.

    -j