Rotation Tracking Problem
Hi,
I'm having a problem with rotation tracking - but before I get to the current issue, let me describe an issue I had during initial integration as I have a rumble in my tummy that my solution was entirely inappropriate and is now coming back to bite me...
So when I did the first integration to DK2 I simply read the values back using basically the same code as from the example in the documentation. I swapped it in-place over the top of a previous DK1 implementation that worked great.
It basically did the trick - with one exception, all the axis were reporting about 50% of their actual movement, so if I looked 90 degrees to the right physically, my view port would only have moved 45 degrees.
You can imagine my solution - multiply all the rotations by two. Yay, now all the rotations go all the way! :)
So... with that knowledge in-hand, let me describe the current issue.
If I look forward and then look up and down - all is good.
If I look 90 degrees to the left or right and then look up and down the movement is VERY disconcerting, appearing like it's doing some roll rotation as well.
As I thought about it tonight, it occurred to me that this might be because it thinks i've only moved my head 45 degrees, in which case there would indeed be an additional factor in the rotation.
So...
Regarding the 50% head tracking rotation issue - is this normal? Is this acceptable? It's possible that it's just the way our engine works and is perfectly fine to multiply up (though it doesn't look like we did this on DK1).
The more fundamental issue (because it *really* makes you queasy :) ) is the latter one - where 90 degrees left and looking up and down causes what looks like a roll along with the pitch.
Help much appreciated!
Matt.
I'm having a problem with rotation tracking - but before I get to the current issue, let me describe an issue I had during initial integration as I have a rumble in my tummy that my solution was entirely inappropriate and is now coming back to bite me...
So when I did the first integration to DK2 I simply read the values back using basically the same code as from the example in the documentation. I swapped it in-place over the top of a previous DK1 implementation that worked great.
It basically did the trick - with one exception, all the axis were reporting about 50% of their actual movement, so if I looked 90 degrees to the right physically, my view port would only have moved 45 degrees.
You can imagine my solution - multiply all the rotations by two. Yay, now all the rotations go all the way! :)
So... with that knowledge in-hand, let me describe the current issue.
If I look forward and then look up and down - all is good.
If I look 90 degrees to the left or right and then look up and down the movement is VERY disconcerting, appearing like it's doing some roll rotation as well.
As I thought about it tonight, it occurred to me that this might be because it thinks i've only moved my head 45 degrees, in which case there would indeed be an additional factor in the rotation.
So...
Regarding the 50% head tracking rotation issue - is this normal? Is this acceptable? It's possible that it's just the way our engine works and is perfectly fine to multiply up (though it doesn't look like we did this on DK1).
The more fundamental issue (because it *really* makes you queasy :) ) is the latter one - where 90 degrees left and looking up and down causes what looks like a roll along with the pitch.
Help much appreciated!
Matt.
