How to i fix rotations imported from another game?

I imported models from another game along with their location and rotation. However, Some rotational values get translated wrong and therefor are rotated differently in Unreal. Is there any way to fix this?

That selected mesh rotation is z: 270. however unreal still rotates it wrong while other meshes aren’t.

You’ll have to check your object’s original blueprint and manually fix them yourself.

That’s the thing, they come from another engine. and it’s to much to fix by hand. I think it may have something to do with gimbal lock and quaternations but i can’t quite figure it out.

Yeah, there’s the problem. I don’t remember the exact engine, but I heard that other game engines have different values for X, Y, Z.

If the other engine from which you these assets come differs not only in which axis is up (Y or Z) but also has flipped axes (i.e, left-handed vs. right-handed coordinate system) then that also messes with your rotations.

Blender: X points right, Y points forward, Z points up
Unreal: X points forward, Y points left, Z points up
Unity: X points left, Y points up, Z points backward
Godot: X points right, Y points up, Z points backward
CryEngine: X points right, Y points forward, Z points up

When moving assets from one engine to another, you’ll often have to also rotate objects by 90 degrees on Unreal’s Z axis, or, if one axis is flipped, invert the sign of the rotation (+30 degrees become -30 degrees).

From the screenshot it already looks like you’ve narrowed it down to Z-axis rotations, I’d try negating the Z rotation first. It could also be that the two scenery pieces don’t match up because X and Y must trade places and Z needs a +/-90 degree rotation.

1 Like