5 Hardware product development guide

This chapter will introduce the use methods of using the SDK on various Pico hardware products. developers should only follow steps relevant to the intended product.

5.1 Instruction of Pico hardware

5.1.1 Realize head tracking and stereo rendering

Realize the consistency of head tracking with the QuickStart of SDK mentioned above. only the Prefabs file in the Pvr_UnitySDK folder needs to be added to the scene.

_images/5.1.png

Figure 5.1 Switching of tracking options

The Pico Neo and Pico Neo 2/Pro support a variety of tracking methods: Head 3/6 DoF and Hand 3/6 DoF. Expand the Pvr_UnitySDK object in the scenes and edit within the inspection panel.

6Dof Position Reset: When Head is set to 6 Dof, the position can be reset only if “Enable 6Dof Position Reset” is selected; otherwise, long pressing the Home key will only reset the controller orientation.

  • Show SafePanel: When selecting Show SafePanel, there will be a safety prompt panel when starting the content.(Only applicable on Neo)

  • Only HMD/Controller Rotation Tracking:

  1. “Only HMD Rotation Tracking”,: when unchecked means that the head tracking is 6 degrees of freedom, with posture and position,; when checked means that the head tracking is 3 degrees of freedom tracking, only posture, no position;

  2. “Only Controller Rotation Tracking”:, when unchecked indicates that the tracking of the hand is 6 degrees of freedom, with posture and position.; when checked means that the tracking of the hand is 3 degrees of freedom, only the posture, no position.

  • Position ScaleFactor: the ratio of moving distance in reality and the moving distance in the scene, which is 1: 1 by default.(Only applicable on Neo)

  • Reset Tracker Onload: Whether apply re-centering when entering scene

  • Use Default Safe Radius: For 6DoF, The radius of the security zone is 0.8m by default. After exceeding the safety range, there will be an area prompt and a darkening effect of the visual field.(Only applicable on Neo)

If you want to customize the radius of the security zone, you need to uncheck the Use Default Range, and the following option will appear. You can freely fill in the scope of setting the security zone.

_images/5.2.1.png

Figure 5.2 Setting of freely defined security zone

  • Use Content Protect: Application copyright protection option. Screenshots, Screenrecords and Screencasting are prohibited when selecting this option.

5.1.2 Instructions for Use With Controllers

From Assets> PicoMobileSDK> Pvr_Controller> Prefabs,drag ControllerManager into your scene as a child of Pvr_UnitySDK. Set position(0,0,0)for ControllerManager.

_images/5.2.png

Figure 5.3 set ControllerManager

The use of controller keys needs to be in the form of calling interface API. For specific API, please refer to Chapter 6 Controller Related Interfaces.

Note:If using old SDK, before upgrading the SDK, delete the PvrController0 and PvrController1, and only use the new ControllerManager prefab.

5.2 Pico Goblin/G2/G2 4K/VR Glasses Input instructions

When using the key and touchpad of the single handle, you need to call the interfaces related to the handle. Please refer to Section 6.3 in Chapter 6 List of API Interface Function for specific interfaces. Here, the corresponding relationship between the parameters of the following interfaces and the physical handle keys is introduced.

Correspondence between physical keys of Goblin Handle and parameters in API Interface Function

Goblin controller key

Input binding

_images/5.1.3.1.png

Pvr_KeyCode.APP

_images/5.1.3.2.png

Pvr_KeyCode.TOUCHPAD

_images/5.1.3.3.png

Pvr_KeyCode.HOME

_images/5.1.3.4.png

Pvr_KeyCode.VOLUMEUP(Not applicable on G2)

_images/5.1.3.5.png

Pvr_KeyCode.VOLUMEDOWN(Not applicable on G2)

The correspondence between physical keys of G2 and G2 4K handles and parameters in API interface functions is the same as Goblin handles except for the following two differences.

G2 controller key

Input binding

_images/5.1.3.6.png

Pvr_KeyCode.APP

_images/5.1.3.7.png

Pvr_KeyCode.TRIGGER

The schematic diagram of the touchpad is as follows:

_images/5.7.png

Figure 5.4 Schematic diagram of touchpad

5.3 Pico Neo/Neo2 Input instructions

When using the keys and touchpads of double controllers, you need to call the interface API. See Section 6.3 for details. Here, only the corresponding relationship between the parameters of the interface API and the physical controller keys is introduced:

Pico Neo

Keys

Input event

_images/5.2.3.1.png

Pvr_KeyCode.APP

_images/5.2.3.2.png

Pvr_KeyCode.TOUCHPAD

_images/5.2.3.3.png

Pvr_KeyCode.HOME

_images/5.2.3.4.png

Pvr_KeyCode.VOLUMEUP

_images/5.2.3.5.png

Pvr_KeyCode.VOLUMEDOWN

Pico Neo2

Keys

Input event

_images/5.2.3.6.jpg

Pvr_KeyCode.HOME

_images/5.2.3.7.jpg

Pvr_KeyCode.APP

_images/5.2.3.8.jpg

Pvr_KeyCode.TRIGGER

_images/5.2.3.9.jpg

Pvr_KeyCode.Right(Only controller 1 has this button)

_images/5.2.3.10.jpg

Pvr_KeyCode.Left(Only controller 0 has this button)

_images/5.2.3.11.jpg

controller 0

Pvr_KeyCode.X

controller 0

Pvr_KeyCode.Y

_images/5.2.3.12.jpg

controller 1

Pvr_KeyCode.A

controller 1

Pvr_KeyCode.B

_images/5.2.3.13.jpg

Pvr_KeyCode.TOUCHPAD

In addition, the Neo touchpad is identical to the Goblin controller and will not be repeated here.

5.4 Pico HMD key

The following table refers to the correspondence between the keys on the head mounted display and the key values in Unity.

HMD Key

Input Key of Unity

Return Key

KeyCode.Escape

OK Key

KeyCode.JoystickButton0

HOME Key

KeyCode.Home (system occupied, not open by default)

Volume Up Key

Android standard VOLUME_UP (system occupied, not open by default)

Volume Down Key

Android standard VOLUME_DOWN (system occupied, not open by default)