XRTK / com.xrtk.core

The Official Mixed Reality Framework for Unity
https://xrtk.io
MIT License
309 stars 34 forks source link

Motion Controllers parity with STEAMVR / UnReal Engine #192

Closed hridpath closed 5 years ago

hridpath commented 5 years ago

XRTK - Mixed Reality Toolkit Feature Request

Is your feature request related to a problem? Please describe

VR ONLY When writing an application that consumes Motion Controller input, navigation in the application envirionment does not translate well between platforms. This causes the user to become confused on how to navigate or teleport when the hardware is different. With the popularity of Steam VR parity between conrtollers would be nice to have.

How would you classify your suggestion

Describe the solution you'd like

Working in the Unreal Engine, Motion Controllers are available with the STEM plugin. This said, one of the most divers differences is the functional use of the Thumb Stick for teleportation/navigation.

In the world of Windows MR the pressing the tumbstick forward and holding produces a parabolic line and target indicator where the user will be positioned after releasing the thumbstick.

In the world of STEAMVR and Unreal, teleporting behavior is accomplished by pressing down on the thumbstick to see the parabolic line and target with the release press prositioning the user to the tageted position. Pressing forward on the thumbstick once will only move the user forward a 'step' while pressing and holding moves the player in a walking/running in the Motion Controllers forward vector.

With that said, we should have the Motion Controller Navigation and Teleportation be in parity with the STEAMVR implimentation?

To be cross platform, I think that the different motion controllers should respond in familiar and predictable manners. Maybe allowing for the application to switch between behaviors.

Describe alternatives you've considered

Leaving the XRTK implimentation as-is

Additional context

SimonDarksideJ commented 5 years ago

Daft question. What do you believe the XRTK does now and what do you feel would need to change to where you want to be.

Currently, the configuration for what the controllers do begins with the controller mapping, so you chose what each controller does.

hridpath commented 5 years ago

@SimonDarksideJ I guess this should have been an RFI instead of FR. Appologies.

As far as you quesdtion, It is my opinion that the XRTK is an Event dispatcher as a top Layer of the dev stack.

Am I misinterpreting this?

SimonDarksideJ commented 5 years ago

Although the xrtk runs on events, for performance reasons, the controllers and raw device input is polled. Too many issue's with different frameworks to use events.

But in a project, you will receive events for all input

hridpath commented 5 years ago

Thank you. Closing this