Godot 3d Handedness?

VandalkVandalk Posts: 22Member
edited April 2018 in 3D

I'm taking a gamedev.tv course on Blender at Udemy, and there's a video they talk about handedness if a software is "left-handed" or "right-handed" and they show how Blender is "right-handed" and Unity is "left-handed". But when I opened Godot 3, I saw the 3d axis but they had no indication I could use to find out if they were "right-handed" or "left-handed".

So does anyone know what is Godot 3's handedness? How can I check it out?

Answers

  • TwistedTwiglegTwistedTwigleg Posts: 1,298Admin

    I had to search up what handiness means in 3D. Interesting stuff! I never really thought about it.

    I cannot say for sure, but I’m fairly certain Godot is “right-handed”, where the X axis points to the right. When making 3D characters, I’ve found you need to use the character’s local X axis for going right, which makes me think it’s likely that Godot uses a “right-handed” coordinate system.

    There’s an interesting StackOverflow post here about whether OpenGL is “right-handed” or “left handed”. Since Godot uses OpenGL (until Vulkin is added), it may provide some insight? I don’t really know enough about graphics programming to understand some of the material in the StackOverflow post. According to what I’ve read, OpenGL uses a “right-handed” coordinate system in object and world space, while view space is “left-handed”.


    I’m not sure how you can check Godot’s handieness. You can probably look through the source code and find out, but I have no idea where would be the best place to start looking, nor what to look for.

  • MegalomaniakMegalomaniak Posts: 1,273Admin
    edited April 2018

    ok, here's a relatively good image(not perfect though edit: yeah both hands are rotated awkwardly in the image for this case):
    ![](https://www.researchgate.net/profile/Tsuneo_Ichiguchi/publication/45935344/figure/fig1/AS:394213280763910@1470999178552/athe-left-handed-and-b-right-handed-coordinate-systems.

    Blender is example (b) where godot would be example (a) however Y up instead of Z up.
    Which makes godot left handed. At least thats my experience baking normal-maps from blender to godot.

  • MegalomaniakMegalomaniak Posts: 1,273Admin
    edited April 2018

    actually now that I think about it godot should still be right handed, it might have just been rotated in such a manner that blenders and godots x-axis is in reverse. Godot is still Y up though, just as standard openGL(blender is older than openGL).

    here is a better explanation:
    https://stackoverflow.com/a/12336360

    edit: Right so its blender that has the index finger(y axis) pointing away from front perspective/POV and thumb(x axis) pointing outwards(right from POV) where godot points index finger up and middle finger(Z axis) toward POV. So x axis should be same as in blender. The strange/confusing thing is that x axis is reverse for normal maps x axis however, perhaps for the same screen-space transform reason explained in the linked stackoverflow answer.

Sign In or Register to comment.