Spread the love
Reading Time: 2 minutes

You live, and you learn.

What if the global X, Y, and Z axes in Blender no longer point to orthogonal directions regarding your object, and you need to scale the object in along just one specific axis? Usually you’d do it like ‘s’ + x (for scaling along only X), but now you can’t do that! X no longer nicely points as a 90 degree normal to the object. X and your object’s faces make an arbitrary angle between 0 and 90. It’s “off”!!

That’s ugly! What now?

I ran into a curious real-world problem: when importing from real Openstreetmap vector data, Blender’s 3D axes (the directions of 3 main axis) naturally may not coincide so that things would be easy with later additions of synthetic objects.

Scaling a balcony

I had a 8-storey building, and wanted to add balconies – as important little details that would cue the viewer of the movement of elevation later on in animation. With rendered graphics, it’s important to give the human brain enough cues of motion. Otherwise the viewer feels uncertainty of the intent.

I decided: ok, a simple Cube would do for now. (Add -> Cube) This is our balcony.

But the essential thing, more important than how complex the shape would be, was to have it scaled and aligned properly to the building. Scaling by default happens in all 3 dimensions in Blender. So pressing ‘s’ when a object is selected will give you the mode of free-form scaling the object with Mouse. But since it’s a cube to begin with, I would only like to flatten it, so it would become a slab – ie scale the symmetric Cube only in depth (which happened to be approximately the X axis).

Global X doesn’t play nicely – it should be the normal to front-facing part of the building

My problem: with that much deviation between the normal of the highlighted face, and the X axis, I can’t just Scale constrained on X (‘s‘ + ‘x‘). It would result in garbage…

Facebook Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.