Model Looks Fine But Scale X, Y And Z Are Weird.

Hi Folks:

I’m finally getting around to rendering a tennis court model people here helped me build over a year ago.

I’m about 1/2 way through this nice set of OpenGL tutorials, far enough along to use for the court model as a crash test dummy while I finish my education.

It looks great in Blender, and even better with the render code I’ve been building.

But I noticed something odd when looking at the model Viewport Property.

Different objects of the model have wildly different X, Y and Z scales.

For instance the playing surface has as scale of 18.288, 9.144, 1.0. The net has a scale of 1.0, 1.0, 1.0.

The dimensions the Viewport Proeprty shows for every object is correct.

I’m just getting into OpenGL’s light effects, and the shading I’ve seen so far seems fine, so the Normals are probably Ok.

It’s just that a common theme of the tutorials, when normals are the topic, is “Don’t scale! Particularly don’t scale with different values for each axis”, make a model that has the proper proportions and use that.

when I force the scale to 1.0, 1.0, 1.0 the objects are obviously distorted.

I wouldn’t even know there was a scaling issue, and I can’t say the shading looks odd, but it would make me feel warm and fuzzy inside if I could look at the model and see all of the scales were at 1.0.

Is there a way to tell Blender to keep all the dimensions the same, but to redefine all the objects in the model to declare their current dimensions to have a scale of 1.0?

Thanks
Larry

Select the object in Object mode and hit Ctrl+A > Scale. This will “apply” the scale to the object, thereby making the new scale 1.0/1.0/1.0 without changing the object’s dimensions.

What happened was that you scaled the items in Object mode, which led to those strange scale values. There is a fundamental difference between working with a mesh in Object Mode and in Edit Mode. My “memory hook” to visualize that difference is like this:

Object Mode puts your geometry (with some other data) into an invisible container. If you scale, move etc. in Object Mode, you’re scaling, moving etc. in fact that container. The geometry inside stays unaltered, you just see a deformed, translated interpretation of that geometry. This makes perfect sense for animating, as transforms in Object Mode can be keyframed and are non-destructive, but gets in the way in the modeling and texturing phase.

So, it is necessary to apply those transforms to the actual mesh before any further work on the geometry, because otherwise it could lead to unexpected behaviour (as the geometry seen is somewhat incongruent to the geometry’s actual state).

There are indeed quite a few areas where Object Mode scaling (especially when it’s inconsistent along the three axes) can cause trouble: UV mapping, modifiers, texture effects (bump, normal, displacement)…

Thanks IkariShinji:

That feels better.