fix(server): 🐛 Fix controller velocities #3031
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #2947
The TrackingManager was doing some velocity transformations that were done as a workaround for SteamVR. After the tracking rewrite (#2904) the prediction step was done after the motions submission to the TrackingManager and this messed up the velocities. In this PR I remove the velocity workarounds from the TrackingManager and apply them in server_openvr after the predict() step.
This PR should also preemptively fix wrong velocities on a future Monado port.
Also adds back velocity multiplier functionality that was mistakenly removed in #2904
Pose offset code is kept inside TrackingManager for future support, planning to separate generic vs Steamvr-specific offsets. The code was kept to minimize changes
Tested on Quest 3 + Windows