aestheticinteractive / Hover-UI-Kit

Create beautiful user interfaces for immersive VR/AR experiences.
Other
792 stars 162 forks source link

Support for additional 3D input devices #3

Open zachkinstner opened 9 years ago

zachkinstner commented 9 years ago

Currently, only the Leap Motion input is supported. This implementation is hidden behind various input interfaces, however, which is the first step toward supporting multiple devices.

The desired input type should be an option that can change at runtime. If necessary, the menu can be completely re-initialized when this occurs -- it doesn't make sense to switch input devices while the menu is in use.

The input interfaces should also provide information related to the current device's capabilities. For example: the device may have only one position/rotation value for each hand, but it also has buttons that could be mapped to certain features.

Hovercast could include features or usage modes that emphasize the specific strengths and capabilities of each input device.

zachkinstner commented 9 years ago

The interface between Hovercast and the input devices is now much cleaner. All Leap-specific functionality is contained within its Leap input module. There is also a "test" input module which obtains its input data via Unity GameObject transforms and settings.

The device modules are located here: https://github.com/aestheticinteractive/Hovercast-VR-Menu/tree/master/Unity/Assets/Hovercast/Devices

To wire up Leap Motion input, attach the HovercastLeapInputProvider component to the HandController object, and then add this input provider reference to the HovercastSetup component in the scene.

zachkinstner commented 9 years ago

Documentation about input modules: https://github.com/aestheticinteractive/Hovercast-VR-Menu/wiki/Input-Modules

zachkinstner commented 9 years ago

Adding support for OSVR should allow for a variety of 3D input devices: see https://github.com/aestheticinteractive/Hovercast-VR-Menu/issues/8

zachkinstner commented 8 years ago

The v2.0 release currently includes Leap Motion (pre and post Orion) and Vive support. I plan to add support for more devices as I have access to them. This includes:

This list is missing many devices. If anyone has a specific device in mind, please comment here.