Hi guys,
My background is in animation and not video games. I've never really been in charge of setting the working scale for a project in Unity or any other program really.
I'm hoping to get some advice on what scale to create my models for this Unity project. Is it common to work in real world measurements? For a character, would I make them the equivalent of 6' (so 1 unity unit is a meter, appox 1.8 units). I have heard that there are some built in physics that are based on 9.8 m/s so in that way it makes sense to me to use real measurements.
Also in terms of working in Maya to create my models, what is the best way to translate them into Unity so the scale works out correctly. Would I want to change the unit settings in Maya from CM to Meter or would I just import them with the right scale factor?
Sorry this is a bit of a ramble. It's always been a confusing subject because my background is in Abstract 3D not real measurements. I've now worked for a year doing Zbrush for 3D print so I've gotten the scale side of that program down but not Unity!
Thanks.
Replies
With that in mind:
If you choose to work with centimeters in Maya, all you need to know is that 1 unit in Maya is 0.01 units in Unity. 1 Unity unit is 100 units in Maya. You can export an FBX file using the default settings and Unity will automatically import it with the correct scale.
If you choose to work with meters in Maya, 1 unit in Maya will be 1 unit in Unity. To prevent Unity from upscaling your model you must make sure you export your mesh with centimeters in the FBX settings (Advanced Options > Units > Untick Automatic, set to 'Centimeters'). I prefer to work with this because I hate modelling with large numbers.
Having worked in Unity quite a bit over the last year, here are some more things I have gathered:
Unity has never detected that something has come from Maya as was stated above for me, so I just manually set the import setting in Unity for every model originating in Maya to 100. Always do this rather than scaling the mode itself, because that can mess with rigging/animation. This works better for me than trying to change Maya's settings to Meters, because most people work with the default. In Maya I would just convert the Units myself, pretending that 1.8 is meters even though I know the units are technically cm, to avoid your models being enormous in Maya.
I have learned that scale is very important in Unity, having recently worked on a project that was for some reason set way too small, it becomes hugely annoying when you start to work with distances that are .0001 to .001 etc.
If you are working with a Massive scale, the inverse would probably be true. I.e. a Warcraft type game you probably would not want to use real scale, but I haven't tried doing such a game.