Houdini Engine for Unreal
 All Files Pages
Coordinate Systems

As Houdini and Unreal uses two different coordinate systems, it is important to know them and how they're handled by Houdini engine:

Houdini uses a Y-up right handed coordinate system, while Unreal uses a Z-up left handed coordinate system.

Unreal_CoordinateSystems.png
Houdini (left) afainst Unreal (right) coordinates system

All the transforms and geometries (positions, normals etc. ) are automatically converted from one axis system to another by the Houdini Engine plugin. For example, this means that an asset located at (0, 10, 5) in Houdini will be located at (0, 5, 10) in Unreal, retaining the same "visual" location.

Vector3 parameters (Integer or Float) are also automatically identified and displayed using Unreal's XYZ coordinates, but other parameter types won't. This means that a single "Y Position" parameter exposed in Houdini will actually control the Z position in Unreal's coordinate system. You may choose to prevent a Vector3 parameter from automatically switching its Y and Z axis when displayed in Unreal by setting the hengine_noswap tag to 1 on the parameter.

Unreal_CoordinateSystemUnreal.png
An asset imported with Import Axis set to Unreal
Houdini's up axis (Y) is converted to Unreal's up axis (Z)

If the plugin did not automatically convert values, the same XYZ and orientation values will be used in both applications, but would result in a different "visual" location and orientation.

Unreal_CoordinateSystemHoudini.png
the above asset imported without the conversion
Houdini's Y axis is not converted and matches Unreal's Y axis.