Maya to Unity Scale Guide
The Last Maya to Unity Scale Guide You Will Ever Need
Are you ready for it? I am. It is an issue that has plagued me since I began working in Unity. I setup scripts to handle it for me, then on the next project, I have to remember WHY I set things up that way so I can convince the rest of the team it actually IS the correct way.
As I was doing the Rig Unboxing Video I ran across it again and had to consult the interwebs just to check my sanity. Which is actually good, because I did the whole thing manually just to make sure I still knew what I was doing.
I am just going to put this here so I never have to research it again.
- To have a simple guide for knowing what units need to be set inside Maya and the settings for exporting into Unity.
- To have an object inside unity that has no scale values on the objects in the hierarchy.
1 set of eyes. Preferably yours or whoever is going to be handling the files.
1. Set Maya units to “Meters”
2. Build objects at real world scale. IE assume a character is 1.8 Meters tall and build everything relative to that
3. Export the FBX in CENTIMETERS into Unity
Inside Unity, the “File Scale” in the “Model Import Settings” will have a value of .01.
No other transforms inside the exported objects hierarchy will have scale values in the editor.
The character model will be properly sized next to a (1,1,1) cube inside Unity.
What the… Why?!
The best reason I can figure from all the posts on the web is that Maya’s native units are centimeters and that is how it “thinks” about its scenes. Anything exporting FROM Maya will essentially be in centimeters, so even though we set the scale of our objects to Meters, they are actually still in centimeters.
The FBX, however, doesn’t really care about scale. It will, however, pull the relative scale value out based on what you are trying to export it as.
In this case, we have a centimeter based file and we want it to actually be in Meters, so we need to multiply everything by 100 in order to get it sized properly.
There are other ways to get around this, but it involves messing with grid settings, remembering conversions and making sure those are set up properly across everyone on the team. People also like to actually use their grids, so it’s possible that the settings would fall out of whack. This is the simplest way to manage it. Combine it with an automated export script and you are good to go.
Make sense? Let me know in the comments.
15 Free Unity Asset Tips
Join the community and stay up to date with the whats happening with the site!
I'll also throw in my top 15 tips for managing assets inside Unity!