Nash wrote:Theoretical question: what would happen if there is mod code that forcefully alters the player's angle, pitch and roll?
This is a popular technique that has been used for many years in a huge amount of already-released mods, especially weapon mods. They call functions from the weapon to throw off the player's view, simulating recoil, for example.
What's the best way to address this for VR hardware?
There is a partial solution to this problem. The OpenVR virtual reality mode completely overrides the console player camera's pitch and roll angles, to minimize tracking latency. This is called "late scheduled" tracking. This late tracking approach will prevent those mods from rapidly making the player ill with those forced head rotations. But it will also prevent the gameplay value of those motions from being achieved.
The treatment of the yaw view angle is more complicated. Ideally, to avoid motion sickness, non-headset changes to yaw should be avoided too. But adjusting the yaw angle with mouse, keyboard, and controllers is such an integral part of the game, that some compromise must be reached. Frankly I'm still experimenting with finding the best approach to the yaw angle. I'm still struggling to understand the lag and interpolation that occurs with the angle, and how to distinguish yaw changes resulting from headset motion, from changes that come from other sources.
I recall with GZ3Doom that the mod "Call of Dooty 3" has a camera shake effect that is simply a horrible experience in VR. For certain mods like that, VR might be best avoided.