provencher / MRTK-Quest

MRTK-Quest: Mixed Reality Toolkit (MRTK) extension bridge for Oculus Quest + Rift / S
Other
389 stars 67 forks source link

NearInteraction with PokePointer on Quest-Controller #97

Closed Glokta0 closed 3 years ago

Glokta0 commented 3 years ago

Hi Eric, I know this project is "discontinued", but I'm rather asking for advice, than pointing out issues. Your project is pretty much the only one that I could find where the hands "PokePointer" also follows the index finger if controllers are being used. And it's the only one, where the hand menu opens if used with controllers (HandConstraintPalmUp). Both are things that are pretty neat, but I can't get them to work... I looked through your v1.2.0 project and compared it with mine and it seems that the relevant files have mostly not changed, and yet, my poke pointer does not follow my hand if I use my controller and the menu only appears with my workaround in a somewhat unstable manner.

Any chance you can point me in the right direction? Did you use the articulated hand for the controller poses? That would props allow for the above. And your input profile (Input Data Providers) differs quite a bit, yet, your Input>PokePointer is only active for "articulated hand" - or are profiles stil the relevant change?

In any case, thanks for the great work of basically porting mrtk to quest! And for projects like mrtk+normcore! Cheers

provencher commented 3 years ago

Thanks for the kind words! I'm glad this project is helpful to you :)

First. to get the project setup with controllers working with hands, you need to use the MRTK Quest device manager. If you're on MRTK 2.5, you might be using the Oculus Device Manager in your profile, which does not support using controllers as articulated hands. I would check your profile to make sure it matches the ones in this repo, as it's almost certainly just related to that.

It has nothing to do with what pointers are active, it's all just that the device manager in MRTK-Quest wraps the OVR input logic and creates mrtk articulated hands when either controllers or hands are active.

Second, if you're curious about how I got the controllers to work as articulated hands, it's just a matter of detecting all the avatar hand bones setup in the scene, and then converting their transforms and feeding them into the hand logic of MRTK. It's done here. https://github.com/provencher/MRTK-Quest/blob/master/Assets/MRTK.ThirdParty/MRTK-Quest/Scripts/Input/DeviceManager/Controllers/OculusQuestController.cs

Hope that helps!

Glokta0 commented 3 years ago

Thanks for both! And a clean solution for getting the hands articulated and all the resulting MRTK "benefits". Thanks so much! Hope to be able to test things out this weekend.

Glokta0 commented 3 years ago

Sweet! Only got to use it now, but seems to work seamlessly! Only have to go through the profiles now to compare them to my custom one to restore all my changes - but thanks a lot - this is excellent!

provencher commented 3 years ago

Glad it works for you :)