3DOF Controller Integration

1) Import the QWR VRone Unity3D SDK

2) In the menu QWR/Settings set the Peripheral Support option to Flip

3) QwrCameraRig.prefab will automatically generate controller-related prefabs, including code and models.

How to get the controller information

1) If you want to get the pose and button information of the controller, you can refer to the Daydream controller and use the respective properties on the scriptQwrDaydreamController.cs For more information, please refer to the comment in the script. Compared to the Daydream controller, flip controller adds a TRIGGER button, removes the VOLUMEUPandVOLUMEDOWNbuttons, change theAPPbutton to a BACK button and keeps theHOMEbutton. The BACK and HOME button behaviour is handled automatically, no application processing is required. The current system default behaviour for the 2 buttons is as follows:

  • BACK: The function is the same as the BACK key on the HMD

  • HOME: Short press returns to the launcher, long press recenter calibration

2) The controller comes with a ray collision algorithm by default. If theQWR/Settings/Use QWRPointeroption is checked, QWR collision algorithm is used (default behaviour). Otherwise, user-defined collision algorithm is taking effect.

3) If you set the Peripheral Support option to None. The app would use HMD control as gaze cursor. However, in this case, the 3Dof controller can still work as a controller and report its touch and button event as long as it is paired to the All-in-One HMD. Similarly, if you set QwrManager.QWRPointer to true, the QWR default collision algorithm will take effect

4) The 3DOF controller supports switching between left-hand and right-hand mode in QWR VRone Unity3D SDK. One can use Interface name:

QwrDaydreamController.interactiveHand { set, get }

where 0 represents right-hand mode and 1 represents left-hand mode. Please update to the latest image so as to enable this feature.

5) For UI interaction, replace EventSystem with QwrEventSystem. Please refer to My Very First Unity VR App or replace the StandaloneInputModule component under EventSystem with QwrStandaloneInputModule (please refer to Unity Non-VR to VR Porting Tutorial)

Last updated