Before I upgraded to Unity 5, I was able to FBX-export my 3ds max models wihtout problems; FBX Exorter unit conversion was set to automatic, and inside Unity, imported model Scale Factor was 0.01 and File Scale 1 as usual.
However, now with Unity 5, it’s messed up. Even though I haven’t changed anything, suddenly imported models have a Scale Factor of 1, and a File Factor of 0.0254! I noticed that in max’s FBX exporter window, in Unit Conversion, if it’s set to automatic, the drop-down list for specific units is greyed out as it should, but still shows Inches, which is probably where the 0.0254 comes from. Anyone else had this problem?
I’ve been playing around with this since it’s causing an issue for me. It seems like Unity5 is adjusting the file scale value so that when the objects are instanced, they all appear the same size regardless of the exported units. The exported unit is used to determine the instanced scale value instead of the file scale value. IE exporting with Inches as units will import into Unity5 with a 0.0254 file scale, but instance in the scene with a scale of 1. Likewise the same model exported as Decimeters will import with a file scale of 0.01, but instance in the scene with a scale of 0.254. Both models are identical in size when instanced with this method. Unity4 took the file scale from the unit and I believe instanced everything with a scale of 1. This new way Unity is handling importing is just a big headache. An annoying workaround I’ve found is to match the old automatic FBX scale (which I believe is the same as Inches) is to export with Decimeters as the unit and change the scale of the instanced object in the scene to 1.
The solution (with 3DS Max, at least) is to set teh SYSTEM units to meters (they are set to inches by default), and after you did this, everything works as before.
I finally got this working by switching the System Unit Scale in 3ds Max 2016 to 1.0 = 0.0254 metres, with “Respect system units in files” checked (that’s for loading). This is for “direct” importing of “.max” files in Unity, not for exporting “.fbx” files.
“1.0 = 1.0 inches” doesn’t work for me even though that’s the same ratio, so if 0.0254 metres doesn’t work try entering different equivalent ratios. Display units should not matter.
A related bug will show itself if your model only has one mesh, which is that it will be centred and have an initial scale of 0.0254 instead of 1. This is due to the way the meshes are imported. A resource-cheap way to get the importer to work properly is to insert a Point anywhere (In 3ds they’re under the Create tab in Helpers, the tape measure icon; or go through Create > Helpers > Point); Unity turns those into blank, empty GameObjects.
3Dsmax - It does not matter wich Units you are working with, those are overwrited by the FBX export, so… you can choose between Meters or Inches
If you choose Meters, you get on FBX import settings at Unity 1:1 but… the objects, then you have a 1:1 object with different meshes inside with 0.0254 (Wich is the difference between meters and inches)
If you choose Inches when you export from 3Dsmax, you get at FBX import settings at Unity 1:0.0254 and then, you get 1:1 objects with 1:1 objects inside
¡¡¡BUT ONLY, If you are working in Meters!!! you export at the same time a Point Helper… and then is gets consistent THEN you have a 1:1 object with 0.0254 meshes inside. If you dont include the Point Helper you can get or 0.0254 object with 1:1 meshes inside or you get 1 scale object with 0.0254 meshes inside, depending on the things included on the fbx… dummies, meshes or whatever, because apparently Unity reads (or is it max?? I dont know) first one or another, but if you include the Point helper, you are saved. Blessed workaround!!
So, if you work with meters (screw us… metric system users) then add a point helper. If you export in inches… you have no problem adding or not adding this point object, because there is no unit conversion. Apparently
(And I hope I don’t have to waste more of my time trying to figure this out… )