Coordinate system and units
This article will assist you in understanding the coordinate system and units used in OKO.
Coordinate system
To ensure interoperability between the different engines supported by OKO, it is essential that we adopt a common coordinate system. In OKO we have adopted the glTF 2.0 specification which means that we use the right-handed coordinate system with Y up, as shown below:
Axis | Direction |
+Y | Up |
-Y | Down |
+Z | Forward |
-Z | Backwards |
+X | Right |
-X | Left |
We elected to adopt the glTF 2.0 specification as GLB files are the primary 3D asset type in OKO. This also means that the Coordinate System isn't tied to any specific engine using OKO. Instead, we promote a standard format shared across all our engine SKUs, making the Coordinate System more accessible to all.
Units
As per the glTF specification, we use the following unit specifications in OKO:
The units for all linear distances are metres.
Positive rotation is counterclockwise.
Geographic North is aligned with the +Z axis of the space.
Rotations
For object rotations we do not follow the glTF specification. CSP sends and receives rotations as Quaternions in Vector4, which implies an angle component expressed in radians.
Internally the clients may convert object rotations to whichever format they wish, but they must always be passed to CSP as a Quaternion in Vector4 and will always be received in that format.