Scene scale issue

Scene scale issue

brandonhall32
Contributor Contributor
1,791 Views
8 Replies
Message 1 of 9

Scene scale issue

brandonhall32
Contributor
Contributor

A client sent me a file that they have been working on, in Maya, using meters for the system units. When i import this object into max it is way smaller than it should be. The actual object should be 6 feet/1.8288meters high. My unit and system setup are in meters. So I did a test in a blank scene and created a box 1.8288 meters high and it does create it at the same height as the imported object, but if I convert the scene to inches, just to see how high it is in that scale, its like almost 2 inches high. So then I created another blanks scene and made sure my units and system were in inches and made a box 6 feet high and it looks more to scale than it did using meters. Can anyone explain why this is or maybe what I'm doing wrong. Trying to edit this model when its this small is a nightmare. I hope I didn't make this to confusing.

0 Likes
1,792 Views
8 Replies
Replies (8)
Message 2 of 9

Byteman
Collaborator
Collaborator

System Unit Setup is for setting Max's internal unit of measurement.

First of all I have to state that it is NOT a value that is to be modified for an already present scene, unless it is absolutely necessary, (It is only necessary when two scenes with different system units need to be merged) and it has to be done with extreme care. 

!!!Changing System Units of an already present scene might even corrupt your objects due to rounding during conversion to a reduced level of precision.

 

System Unit determines some sort of mid-scale value that has to be set initially according to your planned scene size needs. It's spoken around here from time to time,  3DS Max is a Single Precision software, which means the decimal places of accuracy is limited to 32 bits. This brings up the bitter truth: there is a trade off between the scene extents and the level of detail you need to work on in that scene.

 

As the distance values from the center (origin) increase the precision decreases. The larger your scene extents are, the larger your smallest measurable distance will be. 

The calculator at the lower section of System Units Setup dialog is to give you an idea of your level of precision you'll have, in your determined unit. If it is set to cm's and you have an object placed at 16.7million cm's away from origin, your minimum movable distance at some point will be 1 cm. This is roughly 16.7km's. 

 

In real world terms, you can not place a satellite even in the closest orbit - which is roughly 12902km's- of a real size earth and expect it to move less than a meter. (The accuracy at this level would be 0.97 m) This is just like you have a snap value set to 1 meters.

You may not be able to zoom in to your objects and/or move them in a straight path especially during animation and/or have visual artifacts (clipping) throughout your scene. Objects might get round off corruptions during system unit changes.

I often recommend users to delete all unnecessary objects in their scenes, even adjust the pivots if they are away from the objects and move the scene center to the origin to keep the precision at the highest level possible. Especially when they import models from Autocad. Their models often import in the Max environment at some end of the universe 😄 as they don't take UCS's into consideration that much. Precision is free in Autocad. 🤣

 

  • Now as a rule of thumb, you may ideally set your units to mm only if you'll be rendering objects on a stage of few meters or so.
  • You may consider setting system units to cm or inch levels for most scenes from single interiors to architectural structures with a small number of blocks.
  • And meter only for large landscape scenes.
  • Km may be for space scenes but after years of experience I prefer the default (or cm as we use metric system) and consider creating even the largest space scene in a proportionally reduced scale. 

Forget about all these values and stay in the inch level for system units. (Or cms) It is the midpoint of our common environment and best precision level for most scenes.

 

Have a look at 3:25 of this medical animation. (This is the corrected version)

 

https://www.youtube.com/watch?v=yaKLX2YfS-0&t=2s

 

I wanted to zoom in from a human body to a tiny structure called the Bowman's capsule at its real size, which is roughly around 80nM's 😄 (It is tiny as 0,00009mm). My camera was moving in a zig zag path, like it was going down the stairs. The system units was mm, but my visible scene units required more than 0,00009's level of precision and even more, because there was a man at a size of 1700mms. The camera was moving in from even greater distance. If the structure's size (90nM) would be my minimum level of measurement the man's height would be 170,000,000 of that unit. That far more exceeds the above explained System Unit calculator numbers.  

 

A similar problem occurred on this one, too. This time due to the very large scale of the earth. This is a stereoscopic 3d animation. 

 

https://www.youtube.com/watch?v=2ORt75N5bq0&t=101s

 

Again I decided to create the earth in real size. It was already impossible to find the man in real sized space. 😂 The spaceship shaped molecule coming from a distance at around frame 35 was again moving in zig zag path.

Luckily, scaling solves these issues but it does have its own problems. To scale the camera motion, too, I had to link the entire scene to a dummy and scale that.

 

Finally what happens when you change units:
If you create a 20 cm object in cm system units and change system unit scale to km's. Your object will still be 20 but kilometers. Max holds object values the same, but in system units size. The other units are the display units which you can set to whatever you like. Generic means the same as system units unit.

To see how high an object is at a different unit you must change the display unit values, not the system units.

If two real sized objects on different system units are merged, they merge proportional and still at their real sizes.

 

0 Likes
Message 3 of 9

brandonhall32
Contributor
Contributor

Thank you for replying Byteman and I understand what your saying about changing the system units, but that doesn't explain why if my max is already in meters or I even adopt the imported fbx units, why my object does not look the correct scale.

 When I import the fbx into an empty scene that is already set to meters and the imported object should be roughly 1.8 meters, it looks incredibly smaller than this. The reason I can tell this is because of how small it is compared to the perspective grid and viewport clipping is happening much sooner than it should for an object of this size.

0 Likes
Message 4 of 9

Byteman
Collaborator
Collaborator

I'd like to see the file if you don't mind, to look at what stage the unwanted scaling takes place. This does not seem to happen on a Max exported fbx file.

byteman3d@gmail.com

0 Likes
Message 5 of 9

brandonhall32
Contributor
Contributor

Here you go.

0 Likes
Message 6 of 9

Byteman
Collaborator
Collaborator

Byteman_0-1686499487450.png

It seems you should set the Scale Factor setting in the above dialog to that of your current system scale.

Automatic does that to keep the imported file in the correct scale in your current System Unit Scale. 

 

If you'd like to see the size of the object in another unit, then you need to change the display units. This is the correct approach. (Below: Display Unit set to Decimal Inches while System Unit is in centimeters)

 

Byteman_2-1686501435756.png

 

Scale factor unit in the import dialog is to be set different from your system unit only if the incoming file has an incorrect scale. It doesn't modify your system unit, but forces the program to interpret as the value you've set.

 

Eg. My system unit is cm. If instead of cm, I set the Scale Factor to meter, which is that of the incoming file, then my object size of 1.98m will be interpreted as 1.98 (assuming my system scale were meter) but since it is actually cm then the object is scaled to 1.98 cm. (2cm) 

 

If you prefer to work in some other system unit, then you should change the system unit first then import and set the scale factor as the new system unit value.

 

Hope this clarifies the matter. It is a bit complicated I must admit. When I need to merge two files with different system units (especially when merging a scene in inches with a metric one) I often try multiple times to achieve the correct size I need to work on. 

 

0 Likes
Message 7 of 9

brandonhall32
Contributor
Contributor

I still dont think I'm addressing my problem correctly. Take a look at the model you imported. Then take a look at the image I attached.  This is a completely blank scene. Nothing is in here but this box I created. My system unit setup is set to inches. Now when I create this box, I gave it a height of 6'2.803. This is roughly 1.9 meters if you are working in metric. Now my point is. Look how big the box is compared to the Perspective grid. It towers over it and I can zoom as much as I want into it without any viewport clipping. 

 Now the .fbx of the bandsaw I gave you is close to 1.9 meters high, but when you import it in, take a look at it compared to the perspective grid and try zooming into it. Your viewport clipping happens very quickly and trying to zoom into to a single vertices with viewport clipping turned on and the bottom arrow dragged all the way to the bottom, you still can't zoom into the vert without it being clipped.

 So this is my issue. Why am I getting two conflicting scales, when in reality they are the exact same height? The box is 6 feet high and the bandsaw is 1.9 meters high. Both are the same height.

0 Likes
Message 8 of 9

Byteman
Collaborator
Collaborator

I see your point now.

I've create the box with a size of 6'2.803" in the same unit setup. I was actually planning to merge the saved (to max file) version of the imported saw object with the box in the empty scene, assuming the new box scene wouldn't have clipping issues at that size. But to my surprise the box has a similar clipping, too, if that's what you've been mentioning.

Byteman_0-1686556211833.png

 

 

I am surprised at first, too, because I've never had such issues with a new scene, but why would we be. Clipping has always been there but I've just never got that close in a new scene. Clipping will eventually manifest itself at some point when the smallest decimal place has been reached. 

 

I hate this, but may be the Viewport Clipping is the only option here. Which you may already know, it is found in the dropdown menu accessible by clicking the the viewport name. Lowering the yellow triangle at the bottom side of the yellow vertical line reduces the close clipping limit.

 

I am curious what are the limitations for not implementing higher precision levels to 3d software.  Performance is an obvious reason, I get it, but I do have similar issues with almost all my complex scenes at one point in a number of different ways, interrupting my workflow, too. So disappointing.

0 Likes
Message 9 of 9

brandonhall32
Contributor
Contributor

So here is something that will really confuse you. So in the scene that is in inches and only has a box that is 6 feet high. I imported the fbx into that scene with automatic units turned on in the fbx settings. and take a look at this. It is now that same height as the box. Notice how it now towers over the perspective grid and viewport clipping is no longer an issue. I am so confused on why it looks correct using standard units, but shrinks to basically microscopic size in Metric units.

0 Likes