Saturday, May 28, 2016

Switcheroo

In my quest to learn game development with Unity, been pondering something of a mathematical issue.

Like most game engines, Unity uses a left handed orientation system. My freebee 3D editor Blender, however, seems stuck in a right handed one.

So what is involved.

A right handed system has increasing z-values moving up.

 This is useful in modeling. Below, the default window in Blender.


The Unity interface, keeping the z axis running in the back, with the camera in the front:


The two systems are fundamentally different. In effect, one would need to swap the -y and -z axis.

Below, the short arm is -x, the long -y and the black -z.





There is a programming solution for images:


Things are more complicated for motion scripts, and users report all kinds of chaos on forums.
I think it has to do with the fact that affine spaces and vector spaces are not one and the same the same:


I have read that, Maya 3D, the very popular editor, does let one choose the coordinate system as a user preference.


No comments: