I’m working on a game where the player is constantly moving at high speed through space ( think flight simulator) but I’m having some real problems with Vive controller latency and Jitter the faster the player pawn moves and the further the player gets from the world’s origin. I’m assuming these are floating point arithmetic errors. I’ve currently got a rough fix in my game by moving the world and keeping the player stationary, but that opens a whole bunch of new problems and is far from ideal. Has anyone else encountered this? any other solutions?
Just tried turning on “Disable Low Latency Update” and it made the tracking much better, but there’s still a noticeable lag between moving the controller and it updating in game. Any ideas?
I am having the same problem, any kind of speed say over 100km/h the motion controllers become inaccurate, I have been using the motion controller VR samples level to test this. Its a weird problem as it does not affect the headset, just the controllers. You would think it would all screw up as the headset is also moving at the same speed. Did you get anywhere with this?
You could try using the SetWorldOrigin function (Set World Origin Location | Unreal Engine Documentation) periodically, to set it at your current pawn location. It shouldn’t affect any logic and no need to ‘move’ the world.
The problem is that the controllers are ‘attached’ to the player and have a couple of frames of latency - so if you’re moving quickly, you’re going to have a bad time. You may want to hide the motion controller objects, and have a couple of visible meshes not attached to them, but interpolating to their transforms instead. You might still get some latency, but at least the controllers should move smoothly and without jitter.
Thanks lekjart and ambershee, I will try these methods.
I gave this a try but had no luck, the origin resets but as ambershee said it seems to be affected by speed. Im going to try what ambershee said now if I can figure it out. Thanks for the suggestion though lekjart the origin shift did fix another problem I was having though :).