cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Xref Respect System Units option

Xref Respect System Units option

Hi, do you know the feeling when you have to model, let's say a bird? U have to decide on a good system unit setup so that the viewports zooming and clipping fits the object you want to model first. 1 unit = 1cm seems like a good option for that, right? For the same project another person have to build a skyscraper. 1 unit = 1m seems like a good option for that... later down the road the two scenes meet. The bird is now rigged and have some cool modifiers on it. The skyscaper also got some cool modifiers on it. So let's Xref them into a third scene, the assembly scene. Our assembly scene is setup in 1 unit = 1m. The skryscraper comes straight in. -No problems here! But the bird has a mismatch in system unit scale... To counter act the bird coming in a being super big 3ds Max tries to rescale everything to fit the new system units... Let the fun begin!

 

But if I merge a scene I have the option to choose whether or not I want to 'Rescale Objects to System Unit Scale'. I love that! Basically I never want 3ds Max to rescale anything if I don't tell it to. I usually do that with a pointhelper that is setup as a rootNull for that model.

But working with XRefs it always rescales to match system units and something usually breaks in the process. A solution to this problem could be to have same option available for XRefs. Both for XRefObjects and XRefScene. 

In the back of my mind I feel like it used to be there? And the problem was that when you later opened a scene that had XRefs in it with mismatching System units the were Popup dialogs popping up for each mismatch and you had to make the same choice again. The user base was outraged... and you later removed it?

However, what if you could implement it without having those pesky popups appearing when re-opening a scene. Somehow tagging the Xref record with how that checkbox was set when you first added it. That would be great!

Thanks!
/Andreas

6 Comments
dswahn
Advocate

Some years ago I suggested an option to always adopt the incoming system units, meaning everything will be the correct size despite coming from scenes with different system units:

https://forums.autodesk.com/t5/3ds-max-ideas/option-to-always-adopt-file-s-system-scale/idi-p/105249... 

In this suggestion I have also asked to make the Xref system respect such option as well, so when xrefing a scene with mismatching system units it will always appear with the correct size in the assembly scene - without asking. 

theAndreas
Enthusiast

But isn't that what happens now? It rescales the incoming scene to make it correct in size for the assembly scene's units? That way things break, skin modifier is a common problem.

 

In my world there are two possible good solutions to this XRefs with mismatching System Units problem:

 

1. You get the question if you want to re-scale or not when first adding an XRefRecord. The answer gets saved with the record and you don't get the question again when re-opening the assembly scene.

 

or

 

2. You never get the question and it just brings everything in without re-scaling. 

 

Your XrefObject will come in too large or too small but if you have a point helper that everything is linked to you can do an animated re-scale yourself and nothing will break. If it's a XrefScene you can just bind it to a null and re-scale it without animation.

 

/Andreas

theAndreas
Enthusiast

On further testing I noticed that XrefObject gives you the question if you want to rescale or not. But you get the question again when you re-open the assembly scene.

Not sure how that works when sending to renderfarm... Probably not good.

dswahn
Advocate

I think you misunderstood @theAndreas . What I want is a system that DOES rescale objects so that they share the same proportional size. In other words, if you import a 100cm cube (from a scene where system units is set to cm) into a scene with system units set to meters you will simply get 1m cube, but there should be no asking whether you really want to do that, since in 99% of all cases you do want that behavior.

A user setting where 3ds max will not ask you, and assume you want consistent object sizes despite difference system units is what I want.

theAndreas
Enthusiast

Ok, yes I got you. That is what XrefScene does today and it breaks stuff. Like rigged characters with skin modifier. XrefObjects gives you a question if want to re-scale but it doesn't "remember" your answer next time you open the scene...

 

I want a 100cm box to come in as 100m. I know that sounds crazy but that way I can scale it down to correct size using a pointhelper as a parent to the box. And most importantly nothing breaks.

 

I guess I can just change the system units in the box scene to 1 unit = 1 meter and save it before I Xref it into my assembly scene... But I just feel like one should be able to work in different system units between scenes and xref them in without any hassle...

dswahn
Advocate

Ah, I think I understand now, @theAndreas. Sometimes you really don't want it to rescale stuff, but you want to do it manually with for example a scaled parent helper.

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea