# 3D-coordinates and orientation - transformation from game to FMOD

**URL:** <https://qa.fmod.com/t/3d-coordinates-and-orientation-transformation-from-game-to-fmod/22989>\
**Category:** FMOD Engine\
**Created:** [May 29, 2025, 10:28pm UTC](https://qa.fmod.com/t/3d-coordinates-and-orientation-transformation-from-game-to-fmod/22989 "2025-05-29T22:28:16Z")\
**Posts on this page:** 2\
**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:** [May 29, 2025, 10:28pm UTC](https://qa.fmod.com/t/3d-coordinates-and-orientation-transformation-from-game-to-fmod/22989/1 "2025-05-29T22:28:16Z")

</div>

My game used a global coordinate-system North(x), East(y), Down(z), so righthanded. But for FMOD it is stated that:

> By default FMOD uses a left-handed coordinate system. If you are using a right-handed coordinate system then FMOD must be initialized by passing [FMOD\_INIT\_3D\_RIGHTHANDED](https://www.fmod.com/docs/2.03/api/core-api-system.html#fmod_init_3d_righthanded) to [System::init](https://www.fmod.com/docs/2.03/api/core-api-system.html#system_init). In either case FMOD requires that the positive Y axis is up and the positive X axis is right, if your coordinate system uses a different convention then you must rotate your vectors into FMOD’s space before passing them to FMOD.

[FMOD - White Papers | 3D Sounds (orientation and left handed vs right handed coordinate systems)](https://www.fmod.com/docs/2.03/api/white-papers-3d-sounds.html#orientation-and-left-handed-vs-right-handed-coordinate-systems)

Is it correct to assume that the FMOD “positive Y axis is up and the positive X axis is right” are local coordinates and only needed for orientation?

Eg assume an `event_instance_` at position `(1, 2, 3)`, speed `(4, 5, 6)` with forward orientation `(1, 0, 0)` and up `(0, 0, -1)` all in global NED game-coordinates, would this then be for FMOD:

```cpp
const FMOD_3D_ATTRIBUTES attributes {
    .position {1, 2, 3},
    .velocity {4, 5, 6},
    .forward {0, 0, -1},
    .up {0, 1, 0}
};
event_instance_->set3DAttributes(&attributes)

```

Or do I need to transform the position and velocity as well?

---

<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:** [June 9, 2025, 11:43pm UTC](https://qa.fmod.com/t/3d-coordinates-and-orientation-transformation-from-game-to-fmod/22989/2 "2025-06-09T23:43:47Z")

</div>

Apologies for the delayed response!

When `FMOD_INIT_3D_RIGHTHANDED` is used, all 3D attributes are expected to be provided in right-handed coordinates where “positive Y axis is up and the positive X axis is right”, including position and velocity. You’ll need to change the orientation of all 3D attributes to match this format.
