XSI to UE4 Plugin - Place Instances (Match Scene Objects)

Hello friends,

Iam writing a little plugin for UE4 to spawn Static Mesh Actors into the UE4 Scene/Level based on the S/R/T of the XSI scene objects.

Its like matching the XSI Instances living in an XSI Scene to the Level in UE4.

It works well already, BUT i have problems with the Rotations.

As long as i rotate only two axis of an object in XSI and one axis stays zero it gets matched correctly into UE4.
But if i rotate 3 axis at the same time in XSI, the objects rotation in UE4 is different.

I made the Y and Z axis adjustments already and they get swapped correctly.

But the reason is, i think that, internally each engine handles rotations differently. (Different Transformation Matrix)

I read that UE4 handles the rotations internally with quaternions.
About XSI iam not sure how it handles rotations internally? Euler?

So the big question for me is now. How to translate the XSI rotation values correctly to the UE4 rotation values.

Does anybody know anything about this topic?

At the moment i write the SRT values from all selected Objects to a text file.
Then the UE4 plugin reads this text file and spawns Static Mesh actor instances into the scene according to the text file data.


Here you can see what happens when i perform the exactly same rotations of the object in each editor.
In UE4 Y and Z are flipped compared to XSI.