And this is way over my head. So instead, I decided to research why there are opposing views on which axis should be vertical. While doing that, I was also reviewing the Humane Rigging series and came up with an idea that just might make this more doable than one might think…
@brecht: Perhaps you could look this over and comment on whether it sounds plausible. It might even work as a GSoC project.
Projection Space: A Proposal to Simplify Global Axis Orientation Variability
Add a new level of orientation above Blender’s world. For the sake of this discussion, I’ll refer to this level of orientation as a ‘universal projection.’ This universal projection would act as a parent container for Blender’s 3D world and by rotating the universe (parent), the world (child) can have any axis orientation desired. And because the axis gizmo remains part of the world, not the universe, both preferences for the up axis can be accommodated with minimal coding effort.
Origin of the Idea for a Universal Projection
While re-watching Nathan Vegdahl’s Humane Rigging video series (specifically, the Building a Better Ball Rig with Empties video) I watched as Nathan illustrated parenting as a rigging tool when he made a ball the child of a cube. He then reoriented the cube to 90 degrees and when he subsequently moved the ball along its x-axis, it moved in world space along the z-axis.
This made me wonder if Blender could encapsulate the entire 3D world inside a new higher-level entity—a 3D universal projection—that could be rotated. Once the universal projection is rotated, the world (as a child of the universe) will have its axes oriented in whichever way makes the user feel most comfortable.
But Why Bother?
Blender users have been discussing the relative merits of axis-orientation for at least two decades. Some prefer the z-axis as the vertical orientation while others prefer the y-axis. Maya offered the World Coordinate System option (switching from y-up—the default—to z-up) as early as 2008 and may well be unique in having this feature. But why do these two differing orientations exist to begin with and why do some prefer one over the other? Also, can understanding the differences in viewpoint help clarify why certain users believe it’s important to have a choice while others don’t?
Where these Divergent Perspectives Originated
Math and physics have, for thousands of years, worked with the z-axis oriented vertically. As far as can be ascertained, this began with Euclid and this orientation is known as absolute, unitary space . In the 17th century, Sir Isaac Newton concluded that absolute, unitary space is inaccessible to the senses ( The Hippocampus as a Cognitive Map , section 1.2 Newton, Leibniz, and Berkley , p.11). From this we can extrapolate that there is another way to perceive space which, in the book just cited, is referred to as psychological or egocentric space .
Other fields that use the absolute, unitary space model are architecture and, more recently, some game engines. In these professions, the z-axis is vertical.
Studies at Harvard University’s Center on the Developing Child implicate that awareness of egocentric space derives from two systems in our brains. The first of these is our proprioceptive sense which allows us to differentiate between right and left. In concert with that, the vestibular system uses fluid in the inner ear to make us aware of gravity and therefore gives us our sense of which way is up. The result of this is that our awareness grows from these two systems to give us a sense of right and left, up and down.
Professions that use the egocentric space model as defined by Newton are film, animation, and UI programming. The latter is, of course, because the computer display can only be measured in two dimensions.
Based on this, I submit that the difference between the two user viewpoints is:
z-up users are more oriented to absolute, unitary space, and
y-up users are more oriented to egocentric space.
Which came first, Absolute or Egocentric Spatial Orientation?
Conceptually, absolute space has been around since Euclid. Of the two spatial orientations, it’s the more advanced because it was conceived by a scientific mind to better understand our world and our universe.
Developmentally, our proprioceptive and vestibular senses orient us to egocentric space while we’re still in the cradle. It follows that unless or until a person is indoctrinated into the more scientific viewpoint, she may very well feel awkward in a z-up world.