Am I correct in assuming that in order to change my scale to have 1 unit = 1 foot, all I need to change is the gravity acceleration to that of ~25 ft/s^2 (I think)? Or are there other setting you need to set to get it to work correctly, like mass?
Also, if the units equate in meters, what scale is mass in? Kilograms? Would this was this a very strange fraction of a pound if I changed the scale to be feet? Thanks.
I believe the mass doesn’t matter in the slightest what you measure it in, because it’s all relative to everything else in your scene. You could make it grams, kilograms, pounds, whatever.
I need to know for sure what the units are in Unity. I need to be able to measure the dimensions of objects s in meters after they have been imported into Unity. Does anyone know how to do this?
Please see the above Measurement Studio for my WIP. I am modeling in Max 9. Units are set to meters. The floor is 20m x 20m x 1 m. The cube is 1m^3. The big line on the floor is the zero line, and the smaller lines are to be one meter apart.
Once the file is running in your browser, use the “Adjustments” window to move the cube to a distance of 0 and a height of say 0.2. Look through the secondary camera at the cube. Now move the cube to a distance of say 0.34. The cube is more or less over the “1” line. This should not be. The cube distance in the “Adjustments” window should be 1 meter when the cube is over the 1m mark, right?
FYI, the Transform coordinates of the cube match what appears in the “Adjustments” window. So when you set the cube height to be 1.0 for example, the Y value for the cube’s position is 1; if you set the cube distance to be 1.25 for example, the Z value for the cube’s position is 1.25 as well.
Regarding the export, using the Autodesk FBX Exporter 2006.08, the Scale Working Units say “1 in will become 1.0… in; Scale Factor: 1.00…” I tried adjusting this (to scale factor 0.0254) but the results were not good.
When bring up the Importing Assets dialog, the Mesh Scale Factor for both the floor and the cube are 0.01. I can change these, but I don’t know the size of the resulting mesh.
There was an editor script posted here in the forums that displays an object’s “Unity world” dimensions. If you can’t find it let me know and I’ll dig it up for you.
This worked out well, and I saw Unity extensibility in action too.
I came up with some interesting readings as a result. In short, I can get close to a solution by setting the scale factor to 0.4 in the Autodesk FBX exporter. This works well for the 1x1x1 cube, but no so for the 20x20x1 box. I get the same measurements whether I use a parametric box or an editable poly box.
With the 0.4 scale factor in Max exporter, models have a scale of 2.5 applied to the three axes in Unity. Using the reference script, the Print Selection Size function readout for the 20mx20mx1m floor box is: “Selected object’s size in world units: (19.7, 1.0, 19.7)”. This measurement is confirmed at run-time when the box distance setting does not match the box’s apparent position. To fix the world size discrepancy, I can set the floor’s scale to be (2.54, 2.54, 2.5).
Why be so precise you say? The commercial application that I have for Unity requires accurate real world-to-virtual world conversion, in the context of a virtual reality scenario. If necessary, I will measure and adjust every object that I import, but this somehow does not seem consistent with the rest of Unity’s elegance.