Unreal Engine Coordinate System

Given that I have the rigid body transformation (4x4 Matrix) of an object that is expressed in a right handed coordinate system, how can I convert it into its corresponding rigid body transformation in Unreal Engine Coordinate System?

You can construct an FTransform from an FMatrix which is a 4x4: FTransform::FTransform | Unreal Engine Documentation

What you need to do with the matrix first depends on the exact coordinate system you’re coming from. Is it Z-up?

Thank you for replying to my question.

Yes, I wanted to convert a rigid body pose from a Right Handed Coordinate system with Z-up to the Unreal Coordinate system. The aim was to convert the Pose of a rigid body from its ROS representation (geometry_msgs/Pose) into Unreal Coordinate system.

I figured a solution to this problem

If p = [px, py, pz] and q = [qx, qy, qz, qw] are the position and orientation components of a rigid body pose in the ROS representation, then we can determine the equivalent position and orientation components of the rigid body pose in Unreal Coordinate System as follows.

p' = [px, -py, pz] * 100
q' = [-qx, qy, -qz, qw]

1 Like