Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
AndyTheBald's avatar
AndyTheBald
Honored Guest
12 years ago

The eye pose, and left-handed game engines

Hi there

I'm struggling at the moment combining the pose's orientation with our view matrix, in our left-handed game engine.

If I convert the quat as-is to a matrix, and then multiply it by our view matrix, then if I Pitch down the view pitches up, roll left, the view rolls right, yaw left and the view yaws right.

If I invert the quat, then for simple movements from the reference pose, then everything moves in the correct direction. However if I pitch the hmd 90deg down, and then roll the hmd 90deg left, it produced the wrong transform. It's as if it has rolled, and then pitched.

Logically, this makes sense, as internally you could consider the pose quat as the combination of the 3 axis rotations (I'm not sure which order you actually apply heading/pitch/roll, but I believe that's irrelevant). Inverting it, will be the inverse of the 3 individual rotations applied in the opposite order - which matches what I see.

So what I've been struggling with is coming up with a transform, which I can apply to the pose, that gets everything working right. I feel there ought to be a simple transform which corrects this, but everything I've tried hasn't worked.

How do you solve this?

Cheers

Andy

13 Replies