-
-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spine Yaw Compensation to keep spine trackers from drifting #1243
base: main
Are you sure you want to change the base?
Conversation
8cb2d68
to
99c15ec
Compare
Please rebase SolarXR, it was merged. |
I think this can be enabled for legs too since it only works when standing up! Ideally, the setting would be part of Drift compensation setting that's now with 3 selectors: Off, Static/Simple (Old one), Dynamic/Advanced (this one). Then for this to have a setting of compensation speed, maybe a slider in 0.05deg/min intervals, and a selector for which parts to apply it: Upper body, Legs, Arms, Feet. There also needs to be an infomation that Dynamic only works with HMD and Static can work without it. But this can be merged after review already, and settings can be added in the future. Very excited to RC this! |
99c15ec
to
4d632d3
Compare
@Eirenliel thanks taking a look! Definitely can look into putting this into the drift compensation setting later. (Or do you think I should just update it now?) If this works well, I was going to add alignment between upper leg and lower leg. Maybe even foot? But I'm not sure if upper leg can be aligned to the spine. For example, when I stand straight, I notice that my legs are twisted slightly away from my body. I was thinking maybe "balancing" the left and right legs so that they're at the same angle away from the spine... |
Upper and lower leg should have the same yaw, so they're already averaged.
It shouldn't matter if you reset the same way too. Also since it's a setting people can turn it off if it doesn't work for them and we can improve it in the future.
If you want, we're not merging util Monday anyway. Also pelase fix build errors (lint) |
This needs to be Beta'd before it can be merged. |
@Eirenliel How do I get the build system to rebuild, and how does the beta process work? Sorry, it's my first PR. Thanks! |
Since you're a first-time contributor, someone else needs to add their approval for the CI to run. |
Sigh oops I didn't realize there was a Java linter too |
For Beta you need to create a post in beta-testing-forum on Discord! If you can't, ask some contributors |
Prevents the spine trackers from drifting, by nudging them to stay aligned to the headset.
Players are usually standing facing forwards or walking forwards, where the spine trackers are aligned to the yaw of the headset. However due to yaw drift, the spine trackers will eventually rotate to the side, requiring a reset. This feature adds a small centering rotation to compensate for the yaw drift. (For now, this compensation only activates when your trackers are pointing "up", e.g. when you're standing or sitting straight up.)
The correction amount should be approximately the maximum yaw drift of your gyroscope (0.3 degrees/sec is a good default).
SlimeVR/SolarXR-Protocol#154
SlimeVR/SolarXR-Protocol#155