Download

Two Coordinate System Description Errors

Hi. I am here today to report two errors:

Under the “What is with this coordinate system? Which way is up?” heading,
this section correctly states that both Unity and UE4 use a left-handed coordinate system.
However, it incorrectly states that in UE4, “positive Y is “right””.
In reality, in UE4, positive Y is left.

Under the “Unity3D” heading, this section correctly states that “Unity uses a left-handed coordinate system”
However, under the “Unreal Engine4” heading, it incorrectly states that
“Unity uses a right-handed coordinate system”
Instead, it should say that
“Unreal 4 uses a left-handed coordinate system – where the vertical direction is usually represented by the +Z axis.”
This section is correct about the Y-axis though … it says “Y - left, right” (correctly implying that left is positive)

Thanks and good luck,

George Freeman

Follow-up pix

A small follow-up to my own message …

The least ambiguous way to distinguish Unreal’s left-handed system from Unity’s is to say that
in Unreal positive Z is usually drawn upwards, whereas
in Unity, positive Y is usually drawn upwards.
My complaint with docs…#faq is based on the appearance of a new Unreal project created with
Starter Content. In this scene, Y is pointing left. But if you make a scene without Starter
Content, Y is pointing right. Or put another way, it all depends on what you mean by positive X
being “forwards”. Does that mean pointing forward from the screen towards you, the viewer, seated
in your chair, or forward from your position, through the screen, towards the wall behind it?
Probably best to put in little diagrams …
Unity 5.1 (new empty scene)
e4ef380bea7e0763c66c57f07dbe19411092691d.jpeg

Unreal 4.8 (new scene with starter content)
UnrealAxes.jpg

Thanks for the feedback, however I am unable to reproduce the issue: In both cases illustrated below, with or without Starter Content, UE4 is using a “Left-handed” coordinate system with Z-UP, X-forward (towards you, the viewer), Y(left)=negative Y(right)=positive (*Like a character’s right arm if they are facing X-forward).

5419a9de06cbad8f46d75db3c6278784fb2cd7d5.png

Coordinates2.png

I have, however, corrected the entry that states “Unity uses a right-handed coordinate system,” which is indeed incorrect.

Thanks

Hi Steve. Thanks for taking the time to reply, and for fixing the second error.
Both Unity and Unreal left-handed, Unity Y-up, Unreal Z-up: this much is clear and easily stated.

My first issue has to do with the ambiguity of language.
Yes, in Unreal, Y right positive “like a character’s right arm if they are facing x-forward” clears this up.
My complaint is that this disambiguating statement is lacking from the
“What is with this coordinate system?” section of

Note that what one sees in both of the images is your post is positive Y pointing left
(because the implicit character at the origin of your Unreal scenes has x facing towards us).
That’s what was confusing me at first.
If you want to be extra welcoming to defectors from Unity, such as myself, you might
consider adding “like a character’s right arm …”
to Unreal Engine 4 For Unity Developers | Unreal Engine Documentation
Or put another way, the text as written is not wrong, merely ambiguous.
It’s your call. :slight_smile:

I’m not sure why your system defaults differently from mine, but that’s of no concern to me.
FYI, below is what I see when I create new blank projects (Unreal 4.8.0 / Windows 7).
The top image, a new blank project without starter content, has its
X-axis pointing away from us, therefore positive Y is pointing right.
The bottom image, a new blank project with starter content, has its
X-axis pointing towards us, therefore positive Y is pointing left
(as in both the images in your post)

George

0908376d3201881cc235e62dfa852227055f972d.jpeg
02b978e9b8cf00a3ba170a8c3e204520164142b2.jpeg

Hi George. Again thanks for the feedback. I completely see how this can be confusing and I have added the phrase to this part of the documentation -but it will take about a week to publish.

As for the coordinates being reversed in blank projects and projects with including starter content, I appreciate the images for clarification. In the examples I provided, I simply oriented the camera so that they faced the same direction in both instances as I thought you meant Y was positive in one instance and negative in another, which would certainly be a bug. Instead we are seeing X from the rear in the top image and X from the front in the bottom image. Again, I can see how this can be confusing especially from someone coming from Unity. I am putting in a Feature Request to have both oriented in the same direction.

Thanks for your polite and thoughtful replies.
Breaking up (i.e. with Unity) is hard to do;
you are helping to make it easier. :slight_smile:

George

Small Glitch Remains

One last glitch to squash …

On page/section

Under the “Unreal Engine4” heading it now says:

“Unity uses a left handed coordinate system – where the vertical direction is usually represented by the +Z axis. Z axis up.”

whereas is should say:

“UE4 uses a left handed coordinate system – where the vertical direction is usually represented by the +Z axis. Z axis up.”

In other words, as things stand, the text under both the “Unity3D” and “Unreal Engine4” headings mentions Unity,
whereas the text under the “Unreal Engine4” heading should mention UE4.

George

Nevermind …

I hadn’t realized that if I logged in to the UE4 Wiki system, I could make the change myself, which I just did.
(I am used to Wikipedia, which does not require login).

George

I think the X-right, Y-up would be more convenient if you would want to make the game have 2D support alongside the 3D part. I am talking from a game engine development standpoint. Ex: How would you present the data/interface to the game developer/user when switching from 2D to 3D? Are you letting him be able to switch from those 2 modes?

Regards