Jump to content

Focus 3 - OpenXR support status?


Recommended Posts

On 6/24/2022 at 8:56 PM, VRS3DGuru2 said:

Disregard last, had a rogue camera object deeply nested on a complex model left over from maya export in the scene.

World interaction scene with open xr working great using new input system input action based configuration, except for button mappings for grip A/B, X/Y buttons. Still working on it, will keep you posted.

Note that the left and right hand have different mappings in the example, and gripping the objects is the best way to interact with them.

The trigger, thumbstick and grip are all used in the example.

The explanation:

Default controls: 

Use the Trigger button to interact with UI.

Use the Thumbstick to move and turn.

Use the Grip button to grab objects. When holding an object with your left-hand Ray Interactor, you can use the Thumbstick to rotate and translate the object. 

Possible solution #1:
right - primary is "a", secondary is "b"
left - primary is "x" and secondary is "y"

Adding an extra sample "select" action for the generic xr controller yielded this. And don't forget to hit "save" on the xr input actions asset before running a build, like I did 😛

This led to an experience where you were able to pick up cubes using:
right hand grip and "a" button
left hand grip and "x" button 

Possible solution #2:
One of the "mappings" for the buttons are also shown in an earlier example:
For say an xr controller, "Grip", Trigger and other familiar maps work. (as defined in InputHelpers and used on say an XRController.


An example where one could add an alternate mapping - go into the focus3 controller profile and select primaryButton/secondaryButton/etc. Here I'm in the middle of changing the mapping for "select" in the interaction to triggerPressed instead of gripPressed 

Possible solution #3 (depending on which mappings were being referenced in the question)
A more unusual usecase: creating an alternative custom map for the focus3 profile, there are resources on that and the best way is to look at the official focus3 profile code in the openxr pacakge "HTCViveControllerProfile", which maps the low level functionality to the higher level ie
"trigger = "/input/trigger/value"

Hope this helps!



Link to comment
Share on other sites

Oh, right and for sanity, I re-ran the example with the 1.0 sdk from a clean CI build to ensure I wasn't missing anything. 

I tested this on ROM version  5.3.999.514 and used the 2020 build. 2021 and 2022 builds were produced but I did not test them for the purpose of getting back to you. Those builds are all at the bottom of https://github.com/hardcoded2/XR-Interaction-Toolkit-Examples/actions/runs/2571972501

The apk I tested is at https://github.com/hardcoded2/XR-Interaction-Toolkit-Examples/suites/7115048129/artifacts/282074089

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...