9 minutes ago, C3D_ said:
In my second video on page one of this thread i show exactly how i set the rotation order in the local kinematics property editor.
You must have missed it.
I think it's more that I just didn't remember all the details from the videos you posted.
In any case, I have one more suggestion, which is to bypass UE's Euler angles entirely and use quaternions to build the UE orientation instead. This eliminates the issue of UE's Euler-angle order, which could simplify things.
Previously I mentioned that it seems the relationship between Euler angles in Softimage and UE (setting aside the issue of angle order) is as follows:
UE X = -(Softimage X)
UE Z = -(Softimage Y)
UE Y = -(Softimage Z)
Based on this, the process would be something like this:
- Make sure the Softimage Euler angles are in XYZ order. (You can use any order, but for other orders the following steps would be different.)
- In your conversion code:
- Build a quaternion from the world X axis, and the negative of the Softimage X angle (call this qx).
- Build a quaternion from the world Z axis, and the negative of the Softimage Y angle (call this qz).
- Build a quaternion from the world Y axis, and the negative of the Softimage Z angle (call this qy).
- Multiply these quaternions together in the order qy*qz*qx to yield a new quaternion q.
- Use the FRotator constructor that accepts a quaternion to construct an FRotator instance from q.
- Use this FRotator instance when creating the transform for the object.
- If that doesn't work, you could try reversing the quaternion multiplication order, that is, using qx*qz*qy instead.
There are enough variables and uncertainties here that I'd be (pleasantly) surprised if what I described here works out of the box, but it might be worth trying. If you try it and it doesn't work, maybe you could post your new code, as there might be errors someone could spot.
Regardless of whether I got all the details right in this post, the idea is to bypass UE's Euler angles entirely and construct the orientation directly yourself using quaternions and Softimage's Euler-angle values.