The relevance of scale in todays computer generated graphics

Questions about models, making models and problems with models
Post Reply
User avatar
Rayne
Site Admin
Posts: 624
Joined: Wed Aug 17, 2011 5:22 pm

The relevance of scale in todays computer generated graphics

Post by Rayne »

I was working on a book shelf model today and i encountered a strange error.
A bottom drawer has a small ring which i used to open the drawer. For some reason the ring wasn't being rendered in game even tho it was visible in radiant.
Naturally i went straight to Frankie to see if this happened cause the polygons are too tiny or is there something else to it.
It turned out that i exported the model 3 times bigger. Which is fine if you don't plan to downsize it in radiant.
Once downsized the ring became so small the game considered it to be too small to be visible, so it wasn't rendered.

This is where the title of the thread kicks in. Proper scaling when modeling is very important. I haven't encountered this error before cause i either managed to build the model in the right scale or it didn't have such small details.
Frankie, as great of a guy that he is linked me to an article he wrote last year on this subject.
So here's the article. I suggest anyone who wishes to use any 3D modeling software to create models for games reads this.

A while back I promised to do a write up as to the relevance of scale in todays 3d applications.


Over recent times the abilities of off the shelf software have increased to the point that the average person with an average computer can do things today in CG with just pocket money that once took mega buck computers and software to perform.

Today it’s easy to think that these improvements needs the intelligent and experiences of a rocket scientists creating the must have need for tutorials, videos, books, or any other type of “educational” materials simply to be able to push some buttons and see a pleasing render take place.

Or how about cloth or dynamic simulations? You follow the tutorial to the letter yet your results is exploding geometry for cloth and blocks that should be 10 tons flying off into space.

Truth be told there is nothing wrong with the software, nothing wrong with the set up, nothing wrong with the tutorial except for the fact that when your trying to show someone how to make a cake you really do need to explain that the egg does comes from a chicken.

The correction of a lot of self made problems first begins with the need to understand that scale is relevant once you get past the basics and the standard of the systems provided by such applications like 3ds Max that go beyond the…well basics or standards that simply work because there is no other reason why they shouldn’t.

Once you get over playing with the Legos and try something a bit more advance the first thing any advance tutorial or such and such should teach you is that scale matters. That’s right in todays 3d graphics size matters and not so much in the way you might think is big but rather how big things really are inside the applications world and not how its perceived by how well the view ports can lie.

So as a primer of sorts I’ve pounded out a few lines as it relates to scale and 3ds Max which on more than one occasion I see as the problem of some of the botched render or exploding dynamics which over the years I have learned to trust 3ds Max to produce at least a predictable result “if” you first start by establishing the correct values through object creation.


The Unit

The lowest form of measurement is not even a true form of measurement but rather a means, a standard, by which other forms of measurements can be based upon. A box primitive 12 X 12 X 12 units in one application has the same scale factor in another and the actual volume is determined by the world scale of the application in question.

In the case of 3ds Max the default setting for world scale out of the box is 1 unit = 1 inch which can be changed to the desired scale regardless of the object in question and in most cases 3ds Max will tell you if the world scale has been changed.

In most cases you can leave this value alone as other forms of measurement can be used based off of this value and can scale up or down by changing the measurement system and not the world scale value.

So our box inside of 3ds Max represents a box 12 inches square or in another form of measurement 1 cubic foot or any other means of real world measurement all based on the fact that 1 unit equals one inch.

Now a one cubic box might seem like no big deal but any object of a know size sets the bases for which other objects can be made that are relative in size to the object regardless of what it represents. We now have a means to place our box inside of a room of equal and relative scale to the box knowing that 3ds Max will always see the box relative to its world scale.

This avoids the most common of all problems when dealing with advance lighting, rendering and dynamics inside of 3ds Max as in all cases the local size of the object in your scene determine how these systems will interact with your scene as part of the whole.

Think about it if you started with a one cubic foot box as the room and placed other objects inside of it then everything inside that box will behave relative to being inside a box of said volume.


World Scale

World scale is the simplest form of scale in that it’s simply the way 3ds Max sees things inside of “it’s” world. Out of the box this is simple math of 1 unit = 1 inch that Max will apply to all objects in the scene as the foundation for which all other values are calculated. Other systems will first check with the world scale as its base value and calculate that against the local scale of the effective objects to derive a predictable and repeatable function.

Local Scale.

Local scale is the size of an object as it relates to world scale. As explained as part of what are units the local scale of an object is a known value based on relative size upon creation. You make a box 12 X12 X 12 its local scale is one cubic foot regardless of the actual shape or what other shape you make it into.

Relative Scale.

Relative scale could be though of as the lie the view ports tell you and what 3ds Max actually sees based on it’s on view of the world. Before the introduction of systems that behave more like their real world counterparts you could build everything based on the relative size of one object verses another. This is still true today if you’re contented to stick with the standard, the basics, and the predictable but the moment you add a system that requires some form of post calculation then the “relative” size of the objects in your scene plays no part in the final result.

A character looking up at a tall building has no relevance as to shape or form to a sunlight lighting system and Mental Ray rendering beyond surface area and volume. For this result the relative size of your scene needs to be set to what is expected of world scale and referenced by it’s local scale.

Relative scale does not always mean a true local scale.

Hopefully your head has not exploded by now but if the above did not do the job then this probably will.

Just because an object is relative to the world scale does not necessarily mean that it’s relative to its local scale.

Huuuu????

Ok the only time that the true local scale of an object is know with out checking its properties is when the object is created as a parametric object. A box for example gives you direct access to its local scale that you can easily change to whatever size that you need.

The moment you convert a parametric object to an editable object you loss direct access and the ability to change the local scale of an object at it’s root level.

Now some may think I’ll just grab the scale tool and scale up the object to the correct size. One would think that this would do the job but the scale tool only scales the relative size of the object and does not change it’s local scale value that was assigned to it upon creation.

You can see this effect by creating a parametric object and use the scale tool to scale it up. You can make the object as big as you want but you should notice that the parametric values do not change and these are the values that need to be passed on as it’s local scale to any of the advance systems you wish to use.


So when does relative scale equal local scale?

When you tell it to.

All objects contain a bounding box that you can turn on and off or highlighted when you select an object. This gives you an indication of the overall volume of the object based on its relative size and there are a couple of ways to ensure that the local scale is equal to the relative scale.

1) You can place an Xform modifier on the stack and when you scale an object the relative scaling is transferred to the local scale root. This is only effective once the relative scale has been established.

2) Use the Xform reset available under the utilities tab.

Of the two the Xfom utility is the 20-pound sludge hammer that will rest every aspect of the object and can cause some rather unusual results to work that is already completed. It will rest everything and the result is what the object truly looks like to 3ds Max as well it will reset all levels of transforms preformed to the object, including non-uniform scaling.

So how crazy can things really get?

Surprising, or not, changes in the local scale of an object are always changing depending on how much editing of the object you do. You can make King Kong to scale but decided to give him a nipple ring and you attach King Kong to the ring his local scale will adopt the scale of the object he is being attached to.

So what are some good workflow habits to maintain proper scaling?

Well in general good work habits are ones that produce a predictable and repeatable result with the simple knowledge of how to fix things if and when “stuff” happens.

The real question is what does a predictable and repeatable result actually look like?

Most times staying on the path is easy enough by first establishing a proxy or by simply understanding the unit of measurements as it applies to the relative size of the objects in your scene.

Doing cloth simulations then an object 72 units tall is 6 feet in real world measurements.

Working with advance lights and rendering?

I usually make a 20 X 20 X 10 foot room, single standard light, ray trace shadows and place a few parametric objects of know sizes around to always have something to go back to as I know what it should look like as compared to some unusual result I’m getting.

In general though one should trust that the systems that are provided will perform in an expectable manner using the stock settings or available presets and if your cloth simulation does exploded then your object scale is probably wrong or possibly the size of a peanut.


And here's a link to the original article.
http://www.3dbuzz.com/vbforum/entry.php ... d-graphics.

User avatar
xandaxs
Posts: 959
Joined: Wed Aug 17, 2011 5:22 pm
Location: Oeiras, Portugal

Re: The relevance of scale in todays computer generated grap

Post by xandaxs »

Thank you for this :)
[12:25] <JohnnyEnglish> morning Nounou
[12:25] <JohnnyEnglish> wotcha doing?
[12:25] <Nounou> hello
[12:26] <Nounou> nothing much, i've nothing to do at work so
[12:26] <Nounou> modeling woman
[12:26] <JohnnyEnglish> woo
[12:26] <JohnnyEnglish> real women?
[12:26] <Nounou> realistic yes, on maya

Image

User avatar
DagF
Posts: 277
Joined: Thu Aug 18, 2011 8:40 am
Location: Norway
Contact:

Re: The relevance of scale in todays computer generated grap

Post by DagF »

This is why you should make a rough model in radiant making it an .ase and importing it to the modeling program you are using, isent it?
Image

Post Reply