SlimeVR / SlimeVR-OpenVR-Driver

SlimeVR driver for OpenVR
Apache License 2.0
210 stars 49 forks source link

Send controller and other trackers position to the server #1

Closed Eirenliel closed 1 year ago

Eirenliel commented 3 years ago

Need to send controller and other trackers position to the server to use them as refrence for other body parts (like elbows) or references instead of HMD.

kitlith commented 3 years ago

per https://github.com/ValveSoftware/openvr/issues/1473 it seems like the API provided to drivers does not give role information.

Would it make more sense to:

Former makes sense to me from an integration standpoint (i.e. editing slimevr settings from your steamvr dashboard), latter might be easier to quickly prototype.

Eirenliel commented 3 years ago

Yeah vavle's arbitrary driver limitations are ridiculous. I don't have a plan right now to rework the whole slimevr to make it openvr app, both because this will be a hell to develop, and that SlimeVR is not planned as only open-vr.

There is another option: send data without role information, guestimate it by id, and let users rebind it if it's wrong.

kitlith commented 3 years ago

True that. Given that you don't want to make it openvr only, it makes sense to me to make a feeder application, and maybe there could be additional communication between feeder and server in the future for changing settings.

Is there anything that might break if sending hmd position back isn't precisely synced with the driver?

Eirenliel commented 3 years ago

@kitlith you don't need to send hmd back

kitlith commented 3 years ago

@kitlith you don't need to send hmd back

sorry, i meant positions in general. i was kinda figuring in my head that we could send hmd in the same place as controllers and trackers, which would also be a good sanity check that works well before needing to actually use the new controller/tracker data.

kitlith commented 3 years ago

I've got a start on a feeder application here: https://github.com/kitlith/SlimeVR-Feeder-App

still working on it of course, but i think I've covered enough of the input system so that we can actually start pushing/pulling actual pose data.

EDIT: also invited you to be a collaborator so that you can mess with it before it (hopefully) moves to the SlimeVR org.

TitansWhale commented 1 year ago

after add tracker I found that we can‘t get the contoller data. I did the following.

  1. run the openvr opengl_example (It could run that I can use controller to disable the background) image
  2. close the opengle_example and open the slimevr-server image
  3. re run the opengl_example I found that the controller can't work.(I can't use controller to disable the background) image

I found that when we load the driver we can't get the controller data. T-T

Eirenliel commented 1 year ago

Controller and other trackers data is sent via the feeder app: https://github.com/SlimeVR/SlimeVR-Feeder-App This issue is no longer relevant, driver only sends HMD data.