Open zachkinstner opened 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.
Documentation about input modules: https://github.com/aestheticinteractive/Hovercast-VR-Menu/wiki/Input-Modules
Adding support for OSVR should allow for a variety of 3D input devices: see https://github.com/aestheticinteractive/Hovercast-VR-Menu/issues/8
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.
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.