6 API接口函数一览

6.1 通用函数库

SDK支持如下红点标记的引擎中的VR通用函数:

_images/6.1.png

图6.1 支持的通用函数

他们的详细用法请参考UE4官方文档 https://docs.unrealengine.com/en-us/

其中:

  1. Reset Orientation and Position节点,仅支持重置正方向的功能,函数节点中的Yaw参数值不起作用。
  2. 使用Get HMDWorn State,需要在项目设置-PicoMobile菜单里,勾选“Enable Psensor”选项

6.2 专用函数库

对于音量、亮度等系统功能,SDK也以蓝图节点的形式提供了相应的API,在事件图表中单击鼠标右键,进入Pico Mobile子项,即可看到这些API:

_images/6.2.png

图6.2 系统接口

这些API的详细说明如下:

_images/6.2.1.png 功能 获取头戴的当前姿态
输入
输出
返回值 头戴的当前姿态
_images/6.2.2.png 功能 获取头戴的当前位置
输入
输出
返回值 头戴的当前位置
_images/6.2.3.png 功能 获取FOV
输入
输出
返回值 FOV
_images/6.2.4.png 功能 获取系统亮度
输入
输出
返回值 当前系统的亮度(0~255)
_images/6.2.5.png 功能 设置系统亮度
输入 设置的目标亮度(0~255)
输出
返回值 true-设置成功,false-设置失败
_images/6.2.6.png 功能 增大系统音量(系统音量范围为0~15,调用一次增加1)
输入
输出
返回值
_images/6.2.7.png 功能 减小系统音量(系统音量范围为0~15,调用一次增加1)
输入
输出
返回值
_images/6.2.8.png 功能 获取当前的系统音量
输入
输出
返回值 当前的系统音量
_images/6.2.9.png 功能 设置系统音量
输入 想要设置的系统音量(0~15)
输出
返回值
_images/6.2.10.png 功能 获取最大音量
输入
输出
返回值 表示最大音量的数
_images/6.2.11.png 功能 获取设备的序列号
输入
输出 设备序列号
返回值
_images/6.2.12.png 功能 获取设备的类型
输入
输出 设备Model (Pico Neo2 — Pico Neo2) (Pico G2— Pico G2) (Pico G2 4K— Pico G2 4K)
返回值
_images/6.2.13.png 功能 获取Psensor状态(需在项目设置中勾选”Enable Psensor?”)
输入
输出 -1-获取失败(未勾选”Enable Psensor?”)0-靠近设备1-远离设备
返回值
_images/6.2.14.png 功能 获取系统设置的惯用手
输入
输出
返回值 0:右手、1:左手
_images/6.2.15.png 功能 开启/关闭Foveation Rendering功能
输入 是否开启FFR
输出
返回值 True:成功,False:失败
_images/6.2.16.png 功能 获取Foveation Rendering等级
输入
输出 Foveation Rendering等级
返回值 True:成功,False:失败
_images/6.2.17.png 功能 设置Foveation Rendering等级
输入 Foveation Rendering等级
输出
返回值 True:成功,False:失败
_images/6.2.18.png 功能 设置Foveation Rendering参数
输入 Foveation Rendering控制参数
输出
返回值 True:成功,False:失败
_images/6.2.19.png 功能 获取设备刷新率
输入
输出 设备刷新率
返回值 True:成功,False:失败
_images/6.2.20.png 功能 获取设备GPU利用率(仅Neo2支持)
输入
输出 设备GPU利用率(0~1)
返回值 True:成功,False:失败
_images/6.2.21.png 功能 获取眼球的位置和方向(仅Neo2 Eye支持,需在项目设置中勾选 “Enable Eye Tracking”)
输入
输出 眼球的位置和方向
返回值 True:成功,False:失败
_images/6.2.22.png 功能 设置安全边界网格是否常驻显示(仅Neo2,Neo2 Eye支持)
输入 Bool类型 true:开启,false:关闭
输出
返回值
_images/6.2.23.png 功能 获取安全边界网格是否常驻显示(仅Neo2,Neo2 Eye支持)
输入
输出
返回值 Bool类型 true:开启,false:关闭
_images/6.2.24.png 功能 获取自定义安全边界PlayArea的尺寸
输入 Bool类型:是否安全区内接四边形
输出
返回值 x:PlayArea长边,y:1,z:PlayArea短边,如果是原地安全区,V3为(0,0,0)
_images/6.2.25.png 功能 设置相机图像大小
输入 IntPoint(x,y),建议比例1:1 默认大小(640,640)
输出
返回值 Bool 是否成功
_images/6.2.26.png 功能 获取相机图像
输入 CameraType: Left 左相机,Right 右相机
输出
返回值 Texture2D图像 Bool 是否成功
_images/6.2.27.png 功能 安全边界检测是否打开(仅Neo2,Neo2 Eye支持)
输入
输出 Bool值
返回值 True:安全边界检测打开,False:安全边界检测关闭
_images/6.2.28.png 功能 系统是否存在有效安全边界(仅Neo2,Neo2 Eye支持)
输入
输出 Bool值
返回值 True:存在有效边界,False:不存在有效边界
_images/6.2.29.png 功能 获取安全区坐标值数组
输入 Bool类型:是否安全区内接四边形
输出 安全区坐标值数组,安全区坐标数量
返回值 安全区坐标数量
_images/6.2.30.png 功能 返回追踪节点触发安全边界的状态
输入 枚举节点:头、手,Bool类型:是否安全区内接四边形
输出 IsTriggering:是否节点触碰到边界 Closest Distance:最近距离 Ppos:最近点的坐标 Npos:最近点坐标的法线
返回值 True:成功,False:失败
_images/6.2.31.png 功能 返回追踪坐标触发安全边界的状态
输入 枚举节点:头、手,Bool类型:是否安全区内接四边形
输出 IsTriggering:是否节点触碰到边界 Closest Distance:最近距离 Ppos:最近点的坐标 Npos:最近点坐标的法线
返回值 True:成功,False:失败

6.3 系统相关接口

通过系统相关接口,开发者可以获取、设置系统的一些配置,开发者可根据需要酌情使用(一般情况下无需使用此部分功能)。

支持设备

设备 PUI版本
G2 4K/G2 4K E/G2 4K Plus 4.0.3及以上
Neo 3 Pro/Neo 3 Pro Eye 全版本

在调用系统接口之前,需要在你需要调用系统接口的蓝图中添加“PicoSystemToolService”组件,系统相关接口均是在该组件内实现。

_images/6.3.1.png

图6.3添加PicoSystemToolService组件

_images/6.3.2.png

图6.4调用示例

6.3.1普通接口

_images/6.3.1.1.png 功能 获取设备信息
输入 想要获取设备信息类型
输出
返回值 设备信息

设备信息类型详见下表:

ESystemInfoEnum 类型含义
ELECTRIC_QUANTITY 电量
PUI_VERSION PUI版本号
EQUIPMENT_MODEL 设备型号
EQUIPMENT_SN 设备SN
CUSTOMER_SN 客户SN
INTERNAL_STORAGE_SPACE_OF_THE_DEVICE 设备存储空间
DEVICE_BLUETOOTH_STATUS 蓝牙状态
BLUETOOTH_NAME_CONNECTED 蓝牙连接名称
BLUETOOTH_MAC_ADDRESS 蓝牙Mac地址
DEVICE_WIFI_STATUS WIFI连接状态
WIFI_NAME_CONNECTED 已连接WIFI名称
WLAN_MAC_ADDRESS WLAN的MAC地址
DEVICE_IP 设备IP
_images/6.3.1.2.png 功能 连接指定WIFI
输入 WifiName:WIFI名称;WifiPSD:WIFI密码;Ext:扩展预留; Delegate:连接回调,true:成功,false:失败。
输出
返回值
_images/6.3.1.3.png 功能 关闭连接指定WIFI功能
输入 Delegate:连接回调,true:成功,false:失败。
输出
返回值
_images/6.3.1.4.png 功能 Home按键功能设置,重新定义Home键,会影响系统定义的Home键功能, 请开发者酌情使用。
输入 EventEnum:按键事件类型;FunctionEnum:功能类型; Delegate:连接回调,true:成功,false:失败。
输出
返回值

按键事件类型详见下表:

EHomeEventEnum 类型含义
HOME_SINGLE_CLICK (“Single Click”) 单击Home键
HOME_DOUBLE_CLICK (“Double Click”) 双击Home键
HOME_LONG_CLICK (“Long Click”) 长按Home键 (不适用于neo3)

按键功能类型详见下表:

以下参数适用于G2 和 Neo 2系列

EHomeFuncEnum 类型含义
VALUE_HOME_GO_TO_SETTING (“Open Setting”) 打开设置
VALUE_HOME_BACK (“Back”) 返回
VALUE_HOME_RECENTER ( “Recenter”) 校准
VALUE_HOME_OPEN_APP (“Open APP”) 打开指定APP
VALUE_HOME_DISABLE (“Disable”) 禁用Home键
VALUE_HOME_GO_TO_HOME (“Open Launcher”) 打开Launcher
VALUE_HOME_SEND_BROADCAST (“Send Broadcast”) 发送Home键点击广播
VALUE_HOME_CLEAN_MEMORY (“Clear Memory”) 清空后台

以下参数适用于Neo 3系列

EHomeFuncEnum 类型含义
VALUE_HOME_GO_TO_SETTING (“Open Setting”) 打开设置
VALUE_HOME_RECENTER ( “Recenter”) 校准
VALUE_HOME_DISABLE (“Disable”) 禁用Home键
VALUE_HOME_GO_TO_HOME (“Open Launcher”) 打开Launcher
_images/6.3.1.5.png 功能 Home按键功能扩展设置
输入 EventEnum:按键事件类型;FunctionEnum:功能类型; TimeSetup: 只有双击和长按事件有事件才设置按键间隔时间,短按传0即可; Package:当Function为打开指定APP时,传入指定包名; ClassName:当Function为打开指定APP时,传入指定类名; Delegate:连接回调,true:成功,false:失败。
输出
返回值
_images/6.3.1.6.png 功能 Power按键设置
输入 IsSingleTap:单击事件为True,双击事件为false; Enable:按键使能状态; Delegate:连接回调,0:成功,1:失败。
输出
返回值
_images/6.3.1.7.png 功能 屏幕关闭超时设置
输入 TimeEnum:屏幕关闭时间; Delegate:连接回调,0:成功,1:失败,10:设置的时间过大。
输出
返回值
_images/6.3.1.8.png 功能 系统休眠超时设置
输入 TimeEnum:系统休眠时间;
输出
返回值
_images/6.3.1.9.png 功能 常用系统开关设置
输入 SystemFunction:功能类型; SwitchEnum:开关值; Ext:扩展预留;
输出
返回值

功能类型详见下表:

ESystemFunctionSwitchEnum 类型含义
SFS_USB (“USB Debug”) USB调试开关
SFS_AUTOSLEEP (“Auto Sleep”) 自动休眠开关
SFS_SCREENON_CHARGING (“ScreenOn Charging”) 亮屏充电开关
SFS_OTG_CHARGING (“OTG Charging”) OTG充电开关
SFS_RETURN_MENU_IN_2DMODE (“Show Back Menu in 2D mode”) 2D界面下返回图标显示开关
SFS_COMBINATION_KEY (“Combination Key”) 组合键开关
SFS_CALIBRATION_WITH_POWER_ON(“Calibration wiht power on”) 开机校准开关
SFS_SYSTEM_UPDATE (“System Update”) 系统升级开关
SFS_CAST_SERVICE (“Cast Service”) 手机投屏开关,行业解决方案开关打开时,该属性不生效
SFS_EYE_PROTECTION (“Eye Protection”) 护眼模式开关
SFS_SECURITY_ZONE_PERMANENTLY(“Security Zone Permanently”) Neo2 6Dof安全区永久关闭开关
SFS_GLOBAL_CALIBRATION (“Global Calibration”) 全局校准开关(仅G2系列有,Neo2系列无)
SFS_Auto_Calibration (“Auto Calibration”) 自动校准开关
SFS_USB_BOOT (“USB Boot”) USB插入启动开关
_images/6.3.1.10.png 功能 USB配置模式设置(MTP、充电)
输入 UsbConfigModeEnum:MTP、充电; Ext:扩展预留;
输出
返回值
_images/6.3.1.11.png 功能 请求WakeLock
输入
输出
返回值
_images/6.3.1.12.png 功能 释放WakeLock接口
输入
输出
返回值
_images/6.3.1.13.png 功能 向Data/local/tmp下写配置文件
输入 Path:写配置文件的路径,Content:写配置文件的内容 Delegate:连接回调,true:成功,false:失败。
输出
返回值
_images/6.3.1.14.png 功能 恢复默认按键配置
输入 Delegate:连接回调,true:成功,false:失败。
输出
返回值
_images/6.3.1.15.png 功能 取消屏蔽头盔确认键
输入
输出
返回值
_images/6.3.1.16.png 功能 屏蔽头盔确认键
输入
输出
返回值
_images/6.3.1.17.png 功能 取消屏蔽头盔音量键
输入
输出
返回值
_images/6.3.1.18.png 功能 屏蔽头盔音量键
输入
输出
返回值
_images/6.3.1.19.png 功能 取消屏蔽头盔返回键
输入
输出
返回值
_images/6.3.1.20.png 功能 屏蔽头盔返回键
输入
输出
返回值

6.3.2受保护接口

注意: 以下接口为受保护接口,调用以下接口前,需要在项目设置->插件->PicoMobile中勾选“Use Pico Advance Interface”选项。 勾选了该选项后,App将无法上架Pico Store,如果您的应用需要通过Pico Store分发,请勿勾选“Use Pico Advance Interface”选项和使用以下接口。

_images/6.3.2.1.png 功能 控制设备关机重启
输入 DeviceControllerEnum:控制设备关机或重启; Delegate:连接回调,0:成功,1:失败。
输出
返回值
     
_images/6.3.2.2.png 功能 应用静默安装或卸载
输入 PackageControlEnum:安装或卸载; Path:静默安装的安装包路径或静默卸载时的应用包名 Ext:扩展预留接口 Delegate:连接回调,0:成功,1:失败。
输出
返回值
     
_images/6.3.2.3.png 功能 控制设备亮屏
输入
输出
返回值
     
_images/6.3.2.4.png 功能 控制设备灭屏
输入
输出
返回值