Search Unity

File Scale FBX

Discussion in 'Editor & General Support' started by rmele09, Mar 6, 2015.

  1. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    607
    I just upgraded to Unity 5. I am attempting to import animations for a character. For the character mesh, Scale Factor is 0.01 and File Scale is 1 but grayed out. (cant change)
    For each of the animation files, the fbx settings are Scale Factor 1 and File Scale .0254, grayed out and I can't change it. If I change the Scale Factor to match the 0.01, the animation plays very small and deformed vs the very large and deformed as it was before. So...How can I change this grayed out File Scale of .0254 to the appropriate File Scale of 1?? I am using the same fbx exporter from 3ds max as I was yesterday when I was using Unity 4.3 and had zero issues. Any help would be appreciated.
     
  2. Yonderboy

    Yonderboy

    Joined:
    Nov 19, 2014
    Posts:
    72
    I have the same question - quite frustrating
     
  3. Spellbound

    Spellbound

    Joined:
    Sep 9, 2011
    Posts:
    51
    Heck yeah, this change is annoying as hell. We spent some hours to identify what is happening when changing working and FBX export units in Maya. Either the non editable File Scale switches to 0.01 (which we did solve setting it via the Model Importer callback to 1.0 in 4.3) or meshes and joints (!) are scaled to 0.01, while the root nodes stays at 1.0 scale. It's all a freakin mess right now.

    The solution we found is to export the FBX as ASCII file, go to the global settings section and change the "UnitScaleFactor" from 1 to 100. You will most likely need another factor, because I guess you are using inches in Max. We are using cm here as base unit.

    We are going to post process all FBX ASCII files after export from Maya to apply that change automatically within our Maya > Unity pipeline. Hope this will fix all issues.

    Is there any comprehensible reason why File Scale is not editable anymore?
     
    Last edited: Mar 6, 2015
  4. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    607
    Yonderboy, did this only start happening to you after upgrading to unity 5?
     
  5. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    607
    Looks like im gonna be rolling back to 4.3 :(
     
  6. Spellbound

    Spellbound

    Joined:
    Sep 9, 2011
    Posts:
    51
    I'd really like to know why this was changed in the first place. All old 4.3 assets (using the manual File Scale override) still work fine in 5, just new imports are messed up with File Scale not being editable.
     
  7. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    607
    Yea I am experiencing the same thing. I played around with what you suggested, and I need to test a lot more animations but this has worked for one of them atleast. So, I use the animation scheme of having separate files, and a base mesh, like this:
    Player
    Player@run
    Player@jump

    (3ds Max)
    I export the base mesh file Player, I uncheck auto for Scale Factor and use Inches. I export this as a Binary, because ascii will not embed media which I need. I then export the separate animation files as ascii, without embed media, and also set Scale Factor to use Inches. I am going to test a bunch more animations and I will report back, but this has worked for 1 new animation.
     
  8. Spellbound

    Spellbound

    Joined:
    Sep 9, 2011
    Posts:
    51
    Ok, it's a lot easier here because we can work with a single ASCII file per asset. I just wrote a small Maya Python script to post process all FBX exports and so far everything looks fine in Unity. Rigged assets with animations seem to work too.
     
    enheekei likes this.
  9. rmele09

    rmele09

    Joined:
    Nov 8, 2010
    Posts:
    607
    Very nice. Thank you for your suggestion it seems to be doing the trick. Fingers crossed.
     
  10. burtonposey

    burtonposey

    Joined:
    Sep 8, 2009
    Posts:
    60
    What I found in my FBX export settings in Maya was a setting for Units. I changed this from the odd number it was by clicking Automatic. This changed the scale factor to 1. Then when I went back in Unity, I had to set the scale value on my mesh to 0.01. This did the trick, BUT!

    If you don't set the Units to auto, you can just set them to 100 (centimeters from the drop down). This way, with the default Unity import where it sets the scale to 1, everything will look right with no extra effort needed (I think).
     
  11. Ilingis

    Ilingis

    Joined:
    Dec 13, 2012
    Posts:
    63
    You can also do this: 1 / File Scale which gives you a Scale factor.
     
  12. RDeluxe

    RDeluxe

    Joined:
    Sep 29, 2013
    Posts:
    91
    I can confirm that setting "meters" as the export units in 3DS Max 2014 is giving a File Scale of 1 (cm is giving 0.01, dm 0.1, etc).

    However, is this supposed to work this way ?
     
  13. vulgerstal

    vulgerstal

    Joined:
    Jun 26, 2014
    Posts:
    9
    Hello! Change "useFileScale 1" to "useFileScale 0" in the META files of animations -
     
    cgnoah likes this.
  14. cgnoah

    cgnoah

    Joined:
    May 8, 2015
    Posts:
    3
    Vulgerstal's got it.

    We've been manually changing all our new meta files for the past month. Unfortunately there doesn't seem to be a good way to automate that process, say with the Asset PostProcessor because the useFileScale flag is inaccessible AND the FileScale value is read-only :(

    We're considering making changes to the Unity source code to fix it....
     
  15. MattyWS

    MattyWS

    Joined:
    Jan 24, 2013
    Posts:
    70
    Is there really no way to automate this? I fear having to manually edit every new meta file will be tedious on a large project.. At least with other settings I have an import script to set everything like Scale Factor and Normals & Tangents etc. Why is this File Scale even read only? :(
     
  16. Alex_TNT

    Alex_TNT

    Joined:
    Dec 26, 2011
    Posts:
    231
    Bump, Any workaround this? without changing the meta file?
     
  17. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,100
    Bump, why that?
     
  18. Alex_TNT

    Alex_TNT

    Joined:
    Dec 26, 2011
    Posts:
    231
    Are you posting just to post something? I need a solution to this why else I would bump the thread.
     
  19. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,100
    I'm also bumping the thread because I also need a solution for that. :/
    The "why that?" was for the editor importing the fbx and setting its default scale to 0.01.
     
  20. Alex_TNT

    Alex_TNT

    Joined:
    Dec 26, 2011
    Posts:
    231
    oh, Sorry then, I taught you were making fun of me. :)
     
  21. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,100
    My fault! I should have been more clear!
     
  22. Alex_TNT

    Alex_TNT

    Joined:
    Dec 26, 2011
    Posts:
    231
  23. ArtemSev

    ArtemSev

    Joined:
    Jan 14, 2016
    Posts:
    1
    I solved this by setting 3ds max system units to meters instead of inches(for geometry with no animation).
    1" = 0.0254 meters which is equal to your current file scale.
     
  24. zero_null

    zero_null

    Joined:
    Mar 11, 2014
    Posts:
    157
  25. Kalex92

    Kalex92

    Joined:
    Feb 18, 2019
    Posts:
    1
    Hello,

    sorry for bringing this up again but the solution does not work for me.

    I have a geometry in 3ds max which I try to export to Unity. It´s an object which subsists of 5 subobjects. My 3ds max unit settings are in the metric system. When exporting the 5 selected objects and leaving the unit options on "automatic"(Scene units converted to inches), I get geometries which all have the scale 1, even though they have different sizes. When exporting the objects with the unit option on centimeters, the objects have scale 2,54 (the conversion for inches) but when dragging them into the scene they still have the same size as the "automatic" unit option geometry.

    I really do not know what to do. I have the 3ds max objects in the correct size and I need the objects to be converted with the exactly correct size :(.

    Kind regards

    Alex