# 3D orientation vector confusion

**URL:** <https://qa.fmod.com/t/3d-orientation-vector-confusion/22025>\
**Category:** FMOD Engine\
**Created:** [August 19, 2024, 10:18pm UTC](https://qa.fmod.com/t/3d-orientation-vector-confusion/22025 "2024-08-19T22:18:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mca2](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/mca2/32/3177_2.png) [@mca2](https://qa.fmod.com/u/mca2)\
**Post date:** [August 19, 2024, 10:18pm UTC](https://qa.fmod.com/t/3d-orientation-vector-confusion/22025/1 "2024-08-19T22:18:47Z")

</div>

I’m trying to grasp the documentation on the forward- and up-vector in `Studio::System::setListenerAttributes()`, but the documentation confuses me.

First of all I’ve created the system with `FMOD_INIT_3D_RIGHTHANDED` to align with my game’s right handed world coordinate system North(x)East(y)Down(z).

Now I would assume, that for a listener staring to the north, the forward-vector would be (1, 0, 0) and up-vector (0, 0, -1). Yet the documentation states:

> When configured for a right-handed coordinate system the positive Y axis points up, the positive X axis points to the right, and the positive Z axis points _towards_ the listener.

Is this just an example of a RH-coordinate system? Or is for the above north staring listener forward (0, 0, -1) and up (0, 1, 0)?

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [August 21, 2024, 5:28am UTC](https://qa.fmod.com/t/3d-orientation-vector-confusion/22025/2 "2024-08-21T05:28:57Z")

</div>

What you’ve quoted from the documentation gives the **definition** of a RH coordinate system, specifically regarding the direction the Z axis points and the direction of rotation around an axis **relative** to when X+ is right and Y+ is up. The actual direction of all three axes as a group is irrelevant besides these relative characteristics, so for your purposes, it is just an example.

Based on what you’ve described, when using the Studio API and providing 3D attributes from your game, your forward vector would be (1, 0, 0), and your up vector (0, 0, -1).

---

<div class="post-metadata">

**Author:** ![mca2](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/mca2/32/3177_2.png) [@mca2](https://qa.fmod.com/u/mca2)\
**Post date:** [August 21, 2024, 9:04am UTC](https://qa.fmod.com/t/3d-orientation-vector-confusion/22025/3 "2024-08-21T09:04:04Z")

</div>

Thanks for your reaction. So it is like I expected. May I suggest changing the documentation to eg:

> ## [12.13 Handedness](https://www.fmod.com/docs/2.03/api/glossary.html#handedness)
> 
> For 3D spatialization to behave intuitively and prevent coordinate system transformations it is important that FMOD is configured to use the same handedness as your game’s coordinate system.
> 
> By default FMOD uses a left-handed coordinate system.
> 
> FMOD may also be configured to use a right-handed coordinate system by passing FMOD\_INIT\_3D\_RIGHTHANDED to [System::init](https://www.fmod.com/docs/2.03/api/core-api-system.html#system_init).

[FMOD - Glossary (handedness)](https://www.fmod.com/docs/2.03/api/glossary.html#handedness)

So basically leaving out the confusing remarks. One should assume coordinate system handedness is known.

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [August 22, 2024, 2:31am UTC](https://qa.fmod.com/t/3d-orientation-vector-confusion/22025/4 "2024-08-22T02:31:38Z")

</div>

No problem, happy to hear that my response clarified it for you.

I’m not sure about completely removing all that information, especially it is a glossary entry on handedness in general, and the importance of coordinate system handedness may not be known to some users. However, I do agree that the glossary entry could be restructured to be clearer to the reader, and I’ve marked this section for changes on our internal feature/improvement tracker.
