.. _5 硬件产品开发指南: 5 硬件产品开发指南 =============================== 本章将介绍SDK在Pico各硬件产品上的使用方法,开发者根据需要选择看相应的内容即可。 5.1 Pico硬件通用说明 ---------------------------------- 5.1.1 实现头部跟踪与立体渲染 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 实现头部跟踪与前文SDK快速入门一致,只需要将Pvr_UnitySDK预制体放入场景即可。 .. image:: _static/5.1.png 图5.1 切换跟踪选项 Pvr_UnitySDK提供的功能说明: • Use Default Render Texture:是否使用默认的Render Texture尺寸,详见8.4说明。 • Tracking Origin:设置当前的跟踪类型,详见8.11说明。 • Display Refresh Rates:设置当前的屏幕刷新率 1.    Default:系统默认 2.    RefreshRate72:刷新率上限72hz 3.    RefreshRate90:刷新率上限90hz • Reset Tracker Onload:进入场景时是否校准位置姿态。 • Only Rotation Tracking: 1.    Only HMD Rotation Tracking,不勾选表示头跟踪为6自由度,有姿态和位置,勾选表示头部跟踪为3自由度跟踪,只有姿态,没有位置。 2.    Only Controller Rotation Tracking,不勾选表示手部的跟踪为6自由度,有姿态和位置,勾选表示手部的跟踪为3自由度,只有姿态,没有位置。 • Show Fps:是否显示当前帧率。 • Use Default Fps:是否使用默认帧率。 • Use Monoscopic:开启单目模式。 • Use Singlepass:开启Singlepass。 • Use Content Protect:内容保护,如果勾选,则禁止截屏,录屏,投屏功能。 5.1.2 手柄使用说明 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1.展开Assets> PicoMobileSDK> Pvr_Controller> Prefabs,将ControllerManager预制体放到场景中,作为Pvr_UnitySDK子GameObject与Head同级: 此处需要注意ControllerManager的position设置为(0,0,0)。 .. image:: _static/5.2.png 图5.2 ControllerManager预制体拖放位置 手柄按键的使用需要采用调用接口API的形式,具体API请参照第7章手柄相关接口。 备注:如果使用SDK2.8.0 之前版本适配过应用,此处需要注意要删除场景里原本的PvrController0和PvrController1预制体,只使用ControllerManager即可。 2.使用自定义手柄模型 如果您使用了自定义的手柄模型(比如手枪、弹弓、魔杖、剑等道具),请勾选此选项。 .. image:: _static/5.2.1.png 图5.3 自定义手柄模型选项 3.模型角度调整 Pico Neo3手柄硬件结构与Pico Neo2不同,Pico Neo3手柄握持与水平方向有一个34度的夹角,如下图。 .. image:: _static/5.2.2.png 图5.4 Pico手柄角度示意图 新版本SDK为了支持Pico Neo3应用在Pico Neo2上的兼容,对手柄模型增加了角度的调整,以保证Neo3上开发的应用可以在Neo2上正常使用;如果您需要使用新SDK在Neo2上开发应用,则需要对模型角度作调整,您需要将PvrController0和PvrController1下的controller预制体的X轴向上抬高34度; 5.2 Pico G2/G2 4K 输入说明 ---------------------------------- 使用单手柄的按键与触摸板,需要调用手柄相关的接口,具体接口请参照第七章API接口函数一览中的7.3手柄相关。这里介绍以下接口的参数与物理手柄按键的对应关系。 G2/G2 4K手柄物理按键与API接口函数中参数的对应关系 ============================ ================================================ G2控制器按键 输入绑定 ============================ ================================================ .. image:: _static/5.105.png Pvr_KeyCode.APP .. image:: _static/5.106.png Pvr_KeyCode.Home .. image:: _static/5.101.png Pvr_KeyCode.TOUCHPAD .. image:: _static/5.102.png Pvr_KeyCode.TRIGGER .. image:: _static/5.103.png Pvr_KeyCode.VOLUMEUP .. image:: _static/5.104.png Pvr_KeyCode.VOLUMEDOWN ============================ ================================================ 触摸板的示意图如下: .. image:: _static/5.6.png 图5.5 触摸板示意图 备注:上图为sdk2.8.6版本之后新的触摸板示意图,2.8.6及之前为旧版,x,y方向和区间范围不同。 5.3 Pico Neo2 输入说明 ---------------------------------- 使用双手柄的按键与摇杆,需要在调用接口API,详见7.3小节。这里仅介绍接口API的参数与物理手柄按键的对应关系: Pico Neo 2: ============================== ================================================ 按键 输入事件 ============================== ================================================ .. image:: _static/5.107.png Pvr_KeyCode.HOME .. image:: _static/5.108.png Pvr_KeyCode.APP .. image:: _static/5.109.png Pvr_KeyCode.TRIGGER .. image:: _static/5.1010.png ===================================== Pvr_KeyCode.Right (手柄1为Right) Pvr_KeyCode.Left (手柄0为left) ===================================== .. image:: _static/5.1011.png Pvr_KeyCode.X(手柄0) .. image:: _static/5.1012.png Pvr_KeyCode.Y(手柄0) .. image:: _static/5.1013.png Pvr_KeyCode.A(手柄1) .. image:: _static/5.1014.png Pvr_KeyCode.B(手柄1) .. image:: _static/5.1015.png Pvr_KeyCode.TOUCHPAD ============================== ================================================ 5.4 Pico Neo3 输入说明 ---------------------------------- 使用双手柄的按键与摇杆,需要在调用接口API,详见7.3小节。这里仅介绍接口API的参数与物理手柄按键的对应关系: Pico Neo 3: .. image:: _static/5.1026.png 图5.6 按键映射图(正视图) .. image:: _static/5.1027.png 图5.7 按键映射图(侧视图) ============================ ================================================ 按键 输入事件 ============================ ================================================ Home Pvr_KeyCode.HOME Menu Pvr_KeyCode.APP Trigger Pvr_KeyCode.TRIGGER Grip Pvr_KeyCode.Right (手柄1为Right) Pvr_KeyCode.Left (手柄0为left) Joystick Pvr_KeyCode.TOUCHPAD X Pvr_KeyCode.X(手柄0) Y Pvr_KeyCode.Y(手柄0) A Pvr_KeyCode.A(手柄1) B Pvr_KeyCode.B(手柄1) ============================ ================================================ 5.5 Pico一体机按键 ---------------------------------- 下表是指一体机头显上的按键与Unity里的键值对应关系。 ============================ ================================================ HMD按键 Unity输入键 ============================ ================================================ 返回键 KeyCode.Escape 确认键 KeyCode.JoystickButton0 Home键 KeyCode.Home(系统占用,默认不开放) 音量加键 Android标准VOLUME_UP(系统占用,默认不开放) 音量减键 Android标准VOLUME_DOWN(系统占用,默认不开放) ============================ ================================================ 备注:KeyCode.JoystickButton0在新的Input系统获取会报错且无法识别确认键。如果仍旧想使用旧的Input系统来获取确认键,则需要在Player Settings-> Player-> Other Settings->Active Input Handling*中勾选Both或者切回Input Manager(Old)。 .. image:: _static/5.21.png 图5.8 新旧输入系统切换