5 硬件产品开发指南

本章将介绍SDK在Pico各硬件产品上的使用方法,开发者根据需要选择看相应的内容即可。

5.1 Pico硬件通用说明

5.1.1 实现头部跟踪与立体渲染

实现头部跟踪与前文SDK快速入门一致,只需要将Pvr_UnitySDK预制体放入场景即可。

_images/5.1.png

图5.1 切换跟踪选项

对于Pico Neo/Neo2,需要注意的是, Neo/Neo2 3dof和6dof皆可支持。展开场景中的Pvr_UnitySDK物体,切换到其细节面板

6Dof Position Reset:当Head Pose为Six Dof时,只有勾选“Enable 6Dof Position Reset”才可以重置位置,否则长按Home键将只重置手柄姿态。

  • Show SafePanel:当勾选Show SafePanel时,启动游戏会有安全提示面板。

  • Only Rotation Tracking:

    1、Only HMD Rotation Tracking,不勾选表示头跟踪为6自由度,有姿态和位置,勾选表示头部跟踪为3自由度跟踪,只有姿态,没有位置;

    2、Only Controller Rotation Tracking,不勾选表示手部的跟踪为6自由度,有姿态和位置,勾选表示手部的跟踪为3自由度,只有姿态,没有位置。

  • Position ScaleFactor:移动比例,即现实中移动距离和场景里移动的比例,默认是1比1。

  • Use Default Safe Radius:即安全区域的半径,默认为0.8米。超出安全范围后会有区域提示和视野变黑效果。

  • 假如想自定义安全区域半径,需要取消勾选Use Default Safe Radius,则会出现下图选项。可以自由填写设置安全区域的范围。

_images/5.2.png

图5.2 为自由定义安全区域设置

5.1.2 手柄使用说明

展开Assets> PicoMobileSDK> Pvr_Controller> Prefabs,将PvrController0预制体放到场景中,作为Pvr_UnitySDK子GameObject与Head同级:

此处需要注意ControllerManager的position设置为(0,0,0)。

_images/5.3.png

图5.3 ControllerManager预制体拖放位置

手柄按键的使用需要采用调用接口API的形式,具体API请参照第6章手柄相关接口。

备注:如果使用旧版SDK适配过应用,此处需要注意要删除场景里原本的PvrController0和PvrController1预制体,只使用ControllerManager即可。

5.2 Pico Goblin/G2/G2 4K 输入说明

使用单手柄的按键与触摸板,需要调用手柄相关的接口,具体接口请参照第六章API接口函数一览中的6.3小节。这里介绍以下接口的参数与物理手柄按键的对应关系。

Goblin手柄物理按键与API接口函数中参数的对应关系

_images/5.01.png _images/5.02.png

G2,G2 4K手柄物理按键与API接口函数中参数的对应关系除以下两处不同,其他与Goblin手柄的对应关系相同。

_images/5.03.png

触摸板的示意图如下:

_images/5.4.png

图5.4 触摸板示意图

5.3 Pico Neo/Neo2 输入说明

使用双手柄的按键与触摸板,需要在调用接口API,详见6.3小节。这里仅介绍接口API的参数与物理手柄按键的对应关系:

Pico Neo:

_images/5.12.png _images/5.13.png

Pico Neo2:

_images/5.04.png _images/5.05.png _images/5.06.png

此外,Neo触摸板与Goblin手柄一致,这里不再赘述。

5.4 Pico一体机按键

下表是指一体机头显上的按键与Unity里的键值对应关系。

HMD按键 Unity输入键
返回键 KeyCode.Escape
确认键 KeyCode.JoystickButton0
Home键 KeyCode.Home(系统占用,默认不开放)
音量加键 Android标准VOLUME_UP(系统占用,默认不开放)
音量减键 Android标准VOLUME_DOWN(系统占用,默认不开放)