.. _7 API接口函数一览: 7 API接口函数一览 =============================== 7.1 获取版本信息 ---------------------------------- UPvr_GetUnitySDKVersion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static string UPvr_GetUnitySDKVersion() 功能:获取SDK版本号 参数:无 返回值:SDK版本号 调用方式:Pvr_UnitySDKAPI.System.UPvr_GetUnitySDKVersion() 7.2 Sensor跟踪相关 ---------------------------------- UPvr_StartSensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_StartSensor(int index) 功能:开启sensor跟踪 参数:0 返回值:0: 调用成功;1:调用失败 调用方式:Pvr_UnitySDKAPI. Sensor. UPvr_StartSensor(index) UPvr_ResetSensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_ResetSensor(int index) 功能:重置sensor跟踪,方向由系统决定,默认重置水平和垂直方向 参数:0 返回值:0: 调用成功;1:调用失败 调用方式:Pvr_UnitySDKAPI. Sensor. UPvr_ResetSensor(index) UPvr_OptionalResetSensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_OptionalResetSensor(int index, int resetRot, int resetPos) 功能:重置sensor姿态和位置 参数:index:0 resetRot:姿态 resetPos:位置 0:不重置 1:重置 返回值:0: 调用成功;1:调用失败 调用方式:Pvr_UnitySDKAPI. Sensor. UPvr_OptionalResetSensor(0,1,1) 7.3 手柄相关 ---------------------------------- 注意:在controller服务启动成功后,API接口才可以正常使用。 可通过 Pvr_ControllerManager.PvrServiceStartSuccessEvent 获取手柄启动服务成功的事件 UPvr_GetControllerPower ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetControllerPower(int hand) 功能:获取手柄电量 参数:对于G2、G2 4K,请传入0;对于Neo2/Neo3,0代表左手柄,1代表右手柄 返回值:1-5 调用方式:Pvr_UnitySDKAPI. Controller .UPvr_GetControllerPower(int hand) UPvr_GetControllerPowerByPercent ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetControllerPowerByPercent(int hand) 功能:获取手柄电量 参数:对于G2、G2 4K,请传入0;对于Neo2,0代表左手柄,1代表右手柄 返回值:1-100 调用方式:Pvr_UnitySDKAPI. Controller .UPvr_GetControllerPowerByPercent(int hand) changeMainControllerCallback ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void changeMainControllerCallback(string index) 功能:主控手改变的回调 参数:0/1代表当前惯用手柄改变为哪个(惯用手柄为启用射线参与UI交互的手柄,其与手柄的索引号并无特定关系) 返回值:无 调用方式:Pvr_ControllerManager.ChangeMainControllerCallBackEvent += XXXXX UPvr_GetControllerAbility ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetControllerAbility(int hand) 功能:获取当前Neo2手柄支持3Dof还是6Dof 参数:0/1 返回值:-1为调用失败,0,2为6Dof,1为3Dof 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetControllerAbility(int hand) setControllerStateChanged ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void setControllerStateChanged(string state) 功能: Neo2、Neo3手柄连接状态变化的回调 参数:格式为(x,x)第一个数字是手柄序号,第二个数字是手柄连接状态,例如0,0 即为0手柄断开 0,1即为0手柄连接上 返回值:无 调用方式:Pvr_ControllerManager.SetControllerStateChangedEvent += XXXXX UPvr_GetControllerState ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static ControllerState UPvr_GetControllerState(int hand) 功能:获取Controller连接状态 参数:对于G2、G2 4K请传入0;对于Neo2、Neo3,则对应相应的手柄0/1 返回值:连接状态 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetControllerState(hand) ResetController ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void ResetController(int num) 功能:重置手柄姿态(该接口不适用于Neo2、Neo3) 参数:对于G2、G2 4K请传入0 返回值:无 调用方式:Pvr_ControllerManager.ResetController(num) StartUpgrade ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool StartUpgrade() 功能:开始升级手柄 参数:无 返回值:true:成功 false:失败 调用方式:Pvr_ControllerManager.StartUpgrade() GetBLEVersion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool StartUpgrade() 功能:获取BLE版本(不适用于G2) 参数:无 返回值:BLE版本 调用方式:Pvr_ControllerManager.GetBLEVersion() setupdateFailed ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void setupdateFailed() 功能:升级失败的回调 参数:无 返回值:无 调用方式:可在此方法内直接增加逻辑或者使用delegate来调用 setupdateSuccess ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool setupdateSuccess() 功能:升级成功的回调(不适于用G2) 参数:无 返回值:无 调用方式:可在此方法内直接增加逻辑或者使用delegate来调用 setupdateProgress ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void setupdateProgress(string progress) 功能:升级进度的回调 参数:进度0-100 返回值:无 调用方式:可在此方法内直接增加逻辑或者使用delegate来调用 UPvr_GetControllerQUA ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Quaternion UPvr_GetControllerQUA(int hand) 功能:获取手柄姿态 参数:对于G2、G2 4K请传入0;对于Neo2、Neo3,则对应相应的手柄0/1 返回值:四元数,手柄姿态 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetControllerQUA(hand) UPvr_GetControllerPOS ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_GetControllerPOS(int hand) 功能:获取手柄位置 参数:对于G2、G2 4K请传入0;对于Neo2、Neo3,则对应相应的手柄0/1 返回值:3维向量,手柄位置 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetControllerPOS(hand) UPvr_GetMainHandNess ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetMainHandNess() 功能:获取当前的惯用手柄索引 参数:无 返回值:0/1 (注意:Neo2、Neo3专有,在bind手柄服务成功之后才可返回正确值,我们的SDK会在应用启动时Bind手柄服务,建议开发者利用Bind回调函数判断是否bind成功) 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetMainHandNess() UPvr_SetMainHandNess ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SetMainHandNess(int hand) 功能:设置当前的惯用手柄 参数:0/1 返回值:无 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_SetMainHandNess(hand) UPvr_GetKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetKey(int hand,Pvr_KeyCode key) 功能:判断按键是否按住 参数:0/1,Pvr_KeyCode 返回值:true:按住 false :未按住 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetKey(hand , key) UPvr_GetKeyDown ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetKeyDown(int hand,Pvr_KeyCode key) 功能:判断按键是否按下 参数:0/1,Pvr_KeyCode 返回值:true:按下一次 false:未按下 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetKeyDown(hand , key) UPvr_GetKeyUp ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetKeyUp(int hand,Pvr_KeyCode key) 功能:判断按键是否抬起 参数:0/1,Pvr_KeyCode 返回值:true:抬起一次 false:未抬起 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetKeyUp(hand , key) UPvr_GetKeyLongPressed ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetKeyLongPressed(int hand,Pvr_KeyCode key) 功能:判断按键是否被长按 参数:0/1,Pvr_KeyCode 返回值:true:长按按键达到0.5秒 false:未达到长按时间 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetKeyLongPressed(hand , key) UPvr_GetKeyClick ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetKeyClick(int hand,Pvr_KeyCode key) 功能:判断按键是否按下抬起了一次 参数:0/1,Pvr_KeyCode 返回值:true:0.5秒内完成按下抬起动作 false:超时 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetKeyClick(hand , key) UPvr_GetTouch ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetTouch (int hand,Pvr_KeyCode key) 功能:判断按键是否被触摸 参数:0/1,Pvr_KeyCode(只有TOUCHPAD,TRIGGER,Thumbrest,X,Y有触摸键值) 返回值:true:触摸了按键 false:没有触摸 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetTouch (hand , key) UPvr_GetTouchDown ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetTouchDown (int hand,Pvr_KeyCode key) 功能:判断按键是否刚触摸到 参数:0/1,Pvr_KeyCode(只有TOUCHPAD,TRIGGER,Thumbrest,X,Y有触摸键值) 返回值:true:手指触摸到按键 false:没有触摸到 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetTouchDown (hand , key) UPvr_GetTouchUp ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetTouchUp (int hand,Pvr_KeyCode key) 功能:判断按键是否触摸完抬起 参数:0/1,Pvr_KeyCode(只有TOUCHPAD,TRIGGER,Thumbrest,X,Y有触摸键值) 返回值:true:手指抬起 false:没有抬起 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetTouchUp (hand , key) UPvr_IsTouching ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_IsTouching(int hand) 功能:判断是否触摸了触摸板(该接口不适用于Neo2、Neo3) 参数:0/1 返回值:true:正在触摸 false:没有触摸 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_IsTouching(hand) UPvr_GetJoystickUp ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetJoystickUp(int hand) 功能:判断Joystick键是否向上 参数:0/1 返回值:true:向上 false:非向上 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetJoystickUp(hand) UPvr_GetJoystickDown ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetJoystickDown(int hand) 功能:判断Joystick键是否向下 参数:0/1 返回值:true:向下 false:非向下 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetJoystickDown(hand) UPvr_GetJoystickLeft ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetJoystickLeft(int hand) 功能:判断Joystick键是否向左 参数:0/1 返回值:true:向左 false:非向左 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetJoystickLeft(hand) UPvr_GetJoystickRight ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_GetJoystickRight(int hand) 功能:判断Joystick键是否向右 参数:0/1 返回值:true:向右 false:非向右 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetJoystickRight(hand) UPvr_GetSwipeDirection ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static SwipeDirection UPvr_GetSwipeDirection(int hand) 功能:获取滑动手势的状态 参数:0/1 返回值:SwipeDirection 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetSwipeDirection(hand) UPvr_GetTouchPadPosition(弃用,推荐统一使用UPvr_GetAxis2D接口) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector2 UPvr_GetTouchPadPosition(int hand) 功能:获取触摸板的touch值 参数:0/1 返回值:触摸板的touch值 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetTouchPadPosition(hand) UPvr_GetAxis1D ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static float UPvr_GetAxis1D(int hand, Pvr_KeyCode key) 功能:获取Trigger/Grip的拨动值 参数:0/1,Pvr_KeyCode.TRIGGER/Pvr_KeyCode.Left/Pvr_KeyCode.Right 返回值:范围为0到1 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetAxis1D (hand,key) UPvr_GetAxis2D ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector2 UPvr_GetAxis2D(int hand) 功能:获取摇杆的拨动值 参数:0/1 返回值:范围为-1到1 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetAxis2D (hand) UPvr_GetTouchPadClick ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static TouchPadClick UPvr_GetTouchPadClick(int hand) 功能:触摸板的模拟点击功能(把触摸板分为4块,模拟游戏手柄的上下左右功能) (该接口不适用于Neo2、Neo3) 参数:0/1 返回值:TouchPadClick 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetTouchPadClick(hand) UPvr_GetControllerTriggerValue ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetControllerTriggerValue(int hand) 参数:0/1 返回值:0~255(适用于Neo2、Neo3) 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_GetControllerTriggerValue(hand) UPvr_VibrateNeo2Controller ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public void UPvr_VibrateNeo2Controller(float strength, int time, int hand) 功能:Neo2手柄的振动接口 参数:震动强度strength:0-1,持续时间单位毫秒time:0-65535,手柄IDhand:0/1 返回值:无 调用方式:Pvr_UnitySDKAPI.Controller.UPvr_VibrateNeo2Controller(float strength, int time, int hand) UPvr_GetDeviceType ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetDeviceType() 功能:获取已连接的手柄类型 参数:无 返回值:0:无连接3:G2、G2 4K 4:Neo2 5:Neo3 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetDeviceType(); UPvr_GetControllerBindingState ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetControllerBindingState(int id) 功能:获取手柄连接状态 参数:int id 返回值:-1:Error 0:未连接 1:已连接 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetControllerBindingState(int id) UPvr_GetAngularVelocity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_GetAngularVelocity(int id) 功能:获取手柄的角速度 参数:int id 手柄ID 返回值:角加速度,单位rad/s 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetAngularVelocity(int id) UPvr_GetAcceleration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_GetAcceleration(int id) 功能:获取手柄的加速度 参数:int id 手柄ID 返回值:加速度,单位m/s^2 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetAcceleration(int id) UPvr_GetVelocity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_GetVelocity(int id) 功能:获取手柄的线速度 参数:int id 手柄ID 返回值:线速度,单位m/s 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_GetVelocity(int id) UPvr_SetControllerOriginOffset(New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SetControllerOriginOffset(int hand, Vector3 offset) 功能:设置手柄坐标原点位置偏移值 参数:int id 手柄ID,Vector3 offset 位置偏移值(单位米) 返回值:无 调用方式:Pvr_UnitySDKAPI.Controller. UPvr_SetControllerOriginOffset(id,offset) 备注:2.8.10版本新增接口 7.4 电量音量亮度服务相关 ---------------------------------- 注:在使用电量音量亮度等服务前请首先调用UPvr_InitBatteryVolClass接口初始化 UPvr_InitBatteryVolClass ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_InitBatteryVolClass() 功能:初始化电量音量亮度服务 参数:无 返回值:true: 成功 false:失败(在使用电量音量亮度等服务前请首先调用此接口初始化) 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_InitBatteryVolClass() UPvr_StartAudioReceiver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_StartAudioReceiver(string startreceiver) 功能:开启音量服务 参数:开启音量的gameobject名字 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_StartAudioReceiver(startreceiver) UPvr_SetAudio ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public void UPvr_SetAudio(string s) 功能:音量发生变化时的回调 参数:当前音量 返回值:无 调用方式:可在此方法内直接增加逻辑或者使用delegate来调用 UPvr_StopAudioReceiver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_StopAudioReceiver() 功能:关闭音量服务 参数:无 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_StopAudioReceiver() UPvr_StartBatteryReceiver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_StartBatteryReceiver(string startreceiver) 功能:开启电量服务 参数:开启电量的gameobject名字 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_StartBatteryReceiver(startreceiver) UPvr_SetBattery ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public void UPvr_SetBattery(string s) 功能:电量发生变化时的回调 参数:当前的电量(范围是0.00~1.00) 返回值:无 调用方式:可在此方法内直接增加逻辑或者使用delegate来调用 UPvr_StopBatteryReceiver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_StopBatteryReceiver() 功能:关闭电量服务 参数:无 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_StopBatteryReceiver() UPvr_GetMaxVolumeNumber ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public int UPvr_GetMaxVolumeNumber() 功能:获取最大音量 参数:无 返回值:音量最大值 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_GetMaxVolumeNumber() UPvr_GetCurrentVolumeNumber ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public int UPvr_GetCurrentVolumeNumber() 功能:获取当前音量 参数:无 返回值:当前音量值(范围是0~15) 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_GetCurrentVolumeNumber() UPvr_VolumeUp ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_VolumeUp() 功能:提高音量 参数:无 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_VolumeUp() UPvr_VolumeDown ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_VolumeDown() 功能:降低音量 参数:无 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_VolumeDown() UPvr_SetVolumeNum ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_SetVolumeNum(int volume) 功能:设置音量 参数:设置的音量大小数值(音量值的范围是0~15) 返回值:true: 成功 false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness. UPvr_SetVolumeNum(volume) UPvr_GetScreenBrightnessLevel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public int[] UPvr_GetScreenBrightnessLevel() 功能:获取当前屏幕亮度等级 参数:无 返回值:int 数组。第一位是支持的总亮度级别,第二位是当前亮度等级,从第三位开始至结束位是亮度等级区间值 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_GetScreenBrightnessLevel() UPvr_SetScreenBrightnessLevel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_SetScreenBrightnessLevel(int vrBrightness, int level) 功能:设置屏幕亮度 参数:vrBrightness:亮度模式;level:亮度值(亮度等级值)如果vrBrightness传入1,level 传入亮度等级; 如果vrBrightness传入0, 代表采用系统 默认的亮度设置模式,level可以设置1~255之间的值 返回值:无 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_SetScreenBrightnessLevel (vrBrightness,level) UPvr_GetCommonBrightness ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public int UPvr_GetCommonBrightness() 功能:获取当前通用设备亮度值 参数:无 返回值:当前亮度值(亮度值的范围是0~255) 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_GetCommonBrightness() UPvr_SetCommonBrightness ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public bool UPvr_SetCommonBrightness(int brightness) 功能:设置当前通用设备亮度值 参数:亮度值(亮度值的范围是0~255) 返回值:true:成功, false:失败 调用方式:Pvr_UnitySDKAPI.VolumePowerBrightness.UPvr_SetCommonBrightness(brightness) 7.5 头戴距离传感器相关 ---------------------------------- UPvr_InitPsensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_InitPsensor() 功能:初始化距离传感器 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI. Sensor. UPvr_InitPsensor() UPvr_GetPsensorState ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetPsensorState() 功能:获得头戴距离传感器的状态 参数:无 返回值:带上头戴时返回值是0,远离时返回值是1 调用方式: Pvr_UnitySDKAPI. Sensor. UPvr_GetPsensorState()(注意:获得Psensor的状态之前需要调用UPvr_InitPsensor进行初始化(初始化一次即可) UPvr_UnregisterPsensor ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_UnregisterPsensor() 功能:释放距离传感器 参数:无 返回值:无 调用方式: Pvr_UnitySDKAPI. Sensor. UPvr_UnregisterPsensor() 7.6 硬件设备相关 ---------------------------------- UPvr_GetDeviceMode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static string UPvr_GetDeviceMode() 功能:获得设备类型 参数:无 返回值:SystemInfo.deviceModel 调用方式: Pvr_UnitySDKAPI. System. UPvr_GetDeviceMode() UPvr_GetDeviceSN ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static string UPvr_GetDeviceSN() 功能:获得设备SN串号 参数:无 返回值:设备SN串号 调用方式: Pvr_UnitySDKAPI. System. UPvr_GetDeviceSN() UPvr_SetExtraLatencyMode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_SetExtraLatencyMode (ExtraLatencyMode mode) 功能:设置当前ExtraLatencyMode(只需调用一次即可) 参数: public enum ExtraLatencyMode { ExtraLatencyModeOff = 0, //关闭ExtraLatencyMode,使用最新帧 ExtraLatencyModeOn = 1, //开启ExtraLatencyMode,使用back帧 ExtraLatencyModeDynamic = 2 // 使用系统默认设置 } 返回值:true : 成功,false:失败 调用方式:Pvr_UnitySDKAPI.System. UPvr_SetExtraLatencyMode (ExtraLatencyMode.ExtraLatencyModeOff); UPvr_GetPredictedDisplayTime ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static float UPvr_GetPredictedDisplayTime () 功能:获取上屏的预测时间(从图像生成到上屏的延迟时间) 参数:无 返回值:时间, 单位毫秒 调用方式: Pvr_UnitySDKAPI. System. UPvr_GetPredictedDisplayTime (); UPvr_Sleep ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_Sleep() 功能:关屏 参数:无 返回值:无 调用方式: Pvr_UnitySDKAPI. System. UPvr_Sleep() 注意:用UPvr_Sleep接口,需要在AndroidManifest中添加如下权限,并且需要系统签名: .. code-block:: xml android:sharedUserId="android.uid.system" 7.7 眼球追踪相关 ---------------------------------- UPvr_getEyeTrackingPos ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_getEyeTrackingPos() 功能:获取当前注视点位置(该接口只适用于Neo2 Eye) 参数:无 返回值:当前注视点位置 调用方式: Pvr_UnitySDKAPI. System. UPvr_getEyeTrackingPos() UPvr_getEyeTrackingData ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_getEyeTrackingData(ref EyeTrackingData trackingData) 功能:获取眼球追踪相关信息,包括睁眼闭眼等。(该接口只适用于Neo2 Eye) 参数:接收结果返回的EyeTrackingData结构体变量 返回值:获取成功返回true,失败返回false 调用方式: Pvr_UnitySDKAPI.System.UPvr_getEyeTrackingData(ref trackingData) 备注:由于获取的眼球追踪数据是世界坐标系空间数据,如果您希望位置数据在镜头前方,需要进行矩阵变换,矩阵变换的方法可以参考以下代码: .. code-block:: java bool result = Pvr_UnitySDKAPI.System.UPvr_getEyeTrackingData(ref eyePoseData); bool dataValid = (eyePoseData.combinedEyePoseStatus & (int)pvrEyePoseStatus.kGazeVectorValid) != 0; if (result && dataValid) { //创建矩阵 Transform target = Pvr_UnitySDKEyeManager.Instance.transform; Matrix4x4 mat = Matrix4x4.TRS(target.position, target.rotation, Vector3.one); //变换位置点 eyePoseData.combinedEyeGazePoint = mat.MultiplyPoint(eyePoseData.combinedEyeGazePoint); //变换向量 eyePoseData.combinedEyeGazeVector = mat.MultiplyVector(eyePoseData.combinedEyeGazeVector); } 备注:EyeTrackingData结构体变量中各变量定义: leftEyePoseStatus:确认左眼数据状态 rightEyePoseStatus:确认右眼数据状态 combinedEyePoseStatus:确认左右眼合并数据状态 leftEyeGazePoint:左注视点原点 rightEyeGazePoint:右注视点原点 combinedEyeGazePoint:左右眼合并注视点 leftEyeOpenness:左眼睁闭眼数据 rightEyeOpenness:右眼睁闭眼数据 leftEyePositionGuide:左眼位置指引 rightEyePositionGuide:右眼位置指引 combinedEyeGazeVector:左右眼合并注视点方向 UPvr_getEyeTrackingGazeRay ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_getEyeTrackingGazeRay(ref EyeTrackingGazeRay gazeRay) 功能:获取眼球追踪视线原点和视线方向(世界坐标系)。(该接口只适用于Neo2 Eye) 参数:接收结果返回的EyeTrackingGazeRay结构体变量 返回值:获取成功返回true,失败返回false 调用方式: Pvr_UnitySDKAPI.System. UPvr_getEyeTrackingGazeRay(ref gazeRay) 备注:由于获取的视线数据是标定头戴设备的Sensor的,如果您有移动Pvr_UnitySDK的需求,并且希望在移动Pvr_UnitySDK时视线方向一直放置在摄像机前方,需要进行矩阵变换,矩阵变换的方法可以参考以下代码: .. code-block:: java Pvr_UnitySDKAPI.System.UPvr_getEyeTrackingGazeRay(ref gazeRay); if(gazeRay.IsValid) { //创建矩阵 Transform target = Pvr_UnitySDKManager.SDK.transform; Matrix4x4 mat = Matrix4x4.TRS(target.position, target.rotation, Vector3.one); //变换射线原点 gazeRay.Origin = mat.MultiplyPoint(gazeRay.Origin); //变换射线方向 gazeRay.Direction = mat.MultiplyVector(gazeRay.Direction); } 7.8 注视点渲染相关 ---------------------------------- GetFoveatedRenderingLevel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static EFoveationLevel GetFoveatedRenderingLevel() 功能:获取当前注视点渲染级别 参数:无 返回值:当前注视点渲染级别 调用方式: Pvr_UnitySDKAPI. Render. GetFoveatedRenderingLevel() SetFoveatedRenderingLevel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void SetFoveatedRenderingLevel(EFoveationLevel level) 功能:设置注视点渲染级别 参数:目标注视点渲染级别,可设置Low,Med,High,Top High四种级别 返回值:无 调用方式: Pvr_UnitySDKAPI. Render. SetFoveatedRenderingLevel(level) SetFoveatedRenderingParameters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void SetFoveatedRenderingParameters(Vector2 ffrGainValue, float ffrArea Value, float ffrMinimumValue) 功能:设置当前注视点渲染参数 参数: 目标注视点渲染参数 ffrGainValue:X/Y 轴方向外围像素的缩减率,值越大缩减的越多 ffrAreaValue:注视点周围分辨率不降范围,值越大,中心清晰区域越大 ffrMinimumValue:默认最小像素密度,像素密度大于等于ffrMinimumValue SDK提供四种Level: ========= =============== ================ ======================== Level ffrGainValue ffrAreaValue ffrMinimumValue Low (3.0f,3.0f) 1.0f 0.125f Med (4.0f,4.0f) 1.0f 0.125f High (6.0f,6.0f) 1.0f 0.0625f Top High (7.0f,7.0f) 0.0f 0.0625f ========= =============== ================ ======================== 返回值:无 调用方式: Pvr_UnitySDKAPI. Render. SetFoveatedRenderingParameters(ffrGainValue, ffrAreaValue, ffrMinimumValue) 7.9 应用版权保护 ---------------------------------- 原接口方式已做变更,新的方式参见8.10 7.10 安全区防护边界相关 ---------------------------------- UPvr_BoundaryGetConfigured ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_BoundaryGetConfigured() 功能:获取当前安全区防护系统是否配置成功 参数:无 返回值:true: 配置成功 false:配置失败 调用方式: Pvr_UnitySDKAPI. BoundarySystem.UPvr_BoundaryGetConfigured() UPvr_BoundaryGetEnabled ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_BoundaryGetEnabled() 功能:获取当前安全区防护系统是否开启 参数:无 返回值:true: 已启用 false:未启用 调用方式: Pvr_UnitySDKAPI. BoundarySystem.UPvr_BoundaryGetEnabled() UPvr_BoundarySetVisible ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_BoundarySetVisible(bool value) 功能:强制设置安全区防护边界是否可见(注意:安全区正常触发或用户通过系统设置安全区将会覆盖该接口的操作) 参数:value:安全区是否可见 返回值:无 调用方式: Pvr_UnitySDKAPI. BoundarySystem.UPvr_BoundarySetVisible(bool) UPvr_BoundaryGetVisible ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static bool UPvr_BoundaryGetVisible() 功能:获取安全区防护边界是否可见 参数: 无 返回值:安全区是否可见 调用方式: Pvr_UnitySDKAPI. BoundarySystem.UPvr_BoundaryGetVisible() UPvr_BoundaryGetDimensions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3 UPvr_BoundaryGetDimensions(BoundaryType boundaryType) 功能: 获取自定义安全边界PlayArea的尺寸 参数:boundaryType:当前边界类型,OuterBoundary或PlayArea 返回值:Vector3,x:PlayArea长边,y:1,z:PlayArea短边,如果是原地安全区,V3为(0,0,0) 调用方式: Pvr_UnitySDKAPI.BoundarySystem. UPvr_BoundaryGetDimensions(boundaryType); UPvr_BoundaryTestNode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static BoundaryTestResult UPvr_BoundaryTestNode(BoundaryTrackingNode node, BoundaryType boundaryType) 功能:返回追踪节点对指定边界类型的测试结果 参数:node:追踪节点,boundaryType:边界类型 返回值:BoundaryTestResult 测试结果结构体 .. code-block:: C# public struct BoundaryTestResult { public bool IsTriggering; // 是否触发边界 public float ClosestDistance; // 追踪节点与边界的最近距离 public Vector3 ClosestPoint; // 追踪节点与边界的最近点位置 public Vector3 ClosestPointNormal; // 最近点法线 } 调用方式: Pvr_UnitySDKAPI.BoundarySystem.UPvr_BoundaryTestNode(node, boundaryType); UPvr_BoundaryTestPoint ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static BoundaryTestResult UPvr_BoundaryTestPoint(Vector3 point, BoundaryType boundaryType) 功能:返回任意3D点坐标对指定的边界类型的测试结果 参数:point:点坐标,boundaryType:边界类型 返回值:BoundaryTestResult 测试结果结构体 .. code-block:: C# public struct BoundaryTestResult { public bool IsTriggering; // 是否触发边界 public float ClosestDistance; // 追踪节点与边界的最近距离 public Vector3 ClosestPoint; // 追踪节点与边界的最近点位置 public Vector3 ClosestPointNormal; // 最近点法线 } 调用方式: Pvr_UnitySDKAPI.BoundarySystem.UPvr_BoundaryTestPoint(point, boundaryType) UPvr_BoundaryGetGeometry ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Vector3[] UPvr_BoundaryGetGeometry(BoundaryType boundaryType) 功能:返回安全区边界的点集合 参数:boundaryType:安全区边界类型 返回值:Vector3[]:安全区边界点集合 调用方式: Pvr_UnitySDKAPI. BoundarySystem.UPvr_BoundaryGetGeometry(boundaryType) UPvr_GetDialogState ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static int UPvr_GetDialogState () 功能:获取boundary 对话框状态 参数:无 返回值:NothingDialog = -1,GobackDialog = 0,ToofarDialog = 1,LostDialog = 2,LostNoReason = 3,LostCamera = 4,LostHighLight = 5,LostLowLight = 6,LostLowFeatureCount = 7,LostReLocation = 8 调用方式: Pvr_UnitySDKAPI. BoundarySystem. UPvr_GetDialogState(); 7.11 SeeThrough Camera相关 ---------------------------------- UPvr_BoundaryGetSeeThroughData ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_BoundaryGetSeeThroughData(int cameraIndex, RenderTexture renderTexture) 功能:获取Neo2设备的相机成像 参数:cameraIndex:相机id,0左相机,1右相机;renderTexture:相机成像要绘制的texture(Texture大小640*640) 返回值:无 其他:该接口不能直接调用,调用前需开启camera,具体参考PicoMobileSDK\Pvr_UnitySDK\Scenes\Examples\GetSeeThroughImage 调用方式: Pvr_UnitySDKAPI.BoundarySystem.UPvr_BoundaryGetSeeThroughData(0, renderTexture) UPvr_BoundarySetCameraImageRect ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_BoundarySetCameraImageRect (int width,int height) 功能:设置Camera图像的宽高尺寸 参数:width:宽度 height:高度 返回值:无 调用方式: Pvr_UnitySDKAPI.BoundarySystem. UPvr_BoundarySetCameraImageRect (width, height) UPvr_EnableSeeThroughManual ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_EnableSeeThroughManual (bool value) 功能:获取Neo2设备的相机画面并作为环境背景 参数:value:SeeThrough是否开启,true开启,false关闭 返回值:无 调用方式: Pvr_UnitySDKAPI.BoundarySystem. UPvr_EnableSeeThroughManual(true) 其它: 1.预制体Camera 的clear flags 设置为solid color 2.预制体Camera 的background 颜色alpha通道设置为0 7.12 系统相关接口 ---------------------------------- 通过系统相关接口,开发者可以获取、设置系统的一些配置,开发者可根据需要酌情使用。 **支持设备**: ============================== ==================== 设备 PUI版本 ============================== ==================== G2 4K/G2 4K E/G2 4K Plus 4.0.3及以上 Neo 3 Pro/Neo 3 Pro Eye 全版本 ============================== ==================== 使用本章节接口前,请参考 TobService.unity 场景中的 Pvr_ToBService.cs 脚本进行初始化或直接将此脚本挂载到你的场景中。相关接口使用方法描述如下: .. code-block:: C# //初始化并绑定Service,其中objectName为接收回调的脚本物体名称 private void Awake() { Pvr_UnitySDKAPI.ToBService.UPvr_InitToBService(); Pvr_UnitySDKAPI.ToBService.UPvr_SetUnityObjectName(objectName); Pvr_UnitySDKAPI.ToBService.UPvr_BindToBService(); } //解除绑定Service private void OnDestory() { Pvr_UnitySDKAPI.ToBService.UPvr_UnBindToBService(); } //增加4个接收回调方法 private void BoolCallback(string value) { if (Pvr_UnitySDKAPI.ToBService.BoolCallback != null) Pvr_UnitySDKAPI.ToBService.BoolCallback(bool.Parse(value)); Pvr_UnitySDKAPI.ToBService.BoolCallback = null; } private void IntCallback(string value) { if (Pvr_UnitySDKAPI.ToBService.IntCallback != null) Pvr_UnitySDKAPI.ToBService.IntCallback(int.Parse(value)); Pvr_UnitySDKAPI.ToBService.IntCallback = null; } private void LongCallback(string value) { if (Pvr_UnitySDKAPI.ToBService.LongCallback != null) Pvr_UnitySDKAPI.ToBService.LongCallback(int.Parse(value)); Pvr_UnitySDKAPI.ToBService.LongCallback = null; } private void StringCallback(string value) { if (Pvr_UnitySDKAPI.ToBService.StringCallback != null) Pvr_UnitySDKAPI.ToBService.StringCallback(value); Pvr_UnitySDKAPI.ToBService.StringCallback = null; } 调用接口前需确保ToBService已绑定成功。关于ToBService绑定成功的回调,请将以下代码添加到Pvr_ToBService.cs脚本中,绑定TobService成功后,此方法会被调用。 .. code-block:: C# public void toBServiceBind(string s){Debug.Log("Bind success.");} 7.12.1 普通接口 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UPvr_StateGetDeviceInfo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static string UPvr_StateGetDeviceInfo(PBS_SystemInfoEnum type) 功能:获取设备信息 参数:type:获取设备信息类型 .. code-block:: xml PBS_SystemInfoEnum.ELECTRIC_QUANTITY:电量 PBS_SystemInfoEnum.PUI_VERSION:PUI版本号 PBS_SystemInfoEnum.EQUIPMENT_MODEL:设备型号 PBS_SystemInfoEnum.EQUIPMENT_SN:设备SN PBS_SystemInfoEnum.CUSTOMER_SN:客户SN PBS_SystemInfoEnum.INTERNAL_STORAGE_SPACE_OF_THE_DEVICE:设备存储空间 PBS_SystemInfoEnum.DEVICE_BLUETOOTH_STATUS:蓝牙状态 PBS_SystemInfoEnum.BLUETOOTH_NAME_CONNECTED:蓝牙连接名称 PBS_SystemInfoEnum.BLUETOOTH_MAC_ADDRESS:蓝牙Mac地址 PBS_SystemInfoEnum.DEVICE_WIFI_STATUS:Wifi连接状态 PBS_SystemInfoEnum.WIFI_NAME_CONNECTED:已连接Wifi名称 PBS_SystemInfoEnum.WLAN_MAC_ADDRESS:Wlan的Mac地址 PBS_SystemInfoEnum.DEVICE_IP:设备IP 返回值:string 设备信息 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_StateGetDeviceInfo(PBS_SystemInfoEnum.PUI_VERSION) UPvr_ControlSetAutoConnectWIFI ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ControlSetAutoConnectWIFI(string ssid, string pwd,Action callback) 功能:开启设备开机自动连接指定WiFi功能 参数:ssid:wifi名称,pwd:wifi密码,callback: Wifi连接是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ControlSetAutoConnectWIFI(ssid, pwd,callback) UPvr_ControlClearAutoConnectWIFI ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ControlClearAutoConnectWIFI(Action callback) 功能:关闭设备开机自动连接指定WiFi功能 参数:callback: 清除连接是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ControlClearAutoConnectWIFI(callback) UPvr_PropertySetHomeKey(即将被弃用,推荐使用UPvr_PropertySetHomeKeyAll) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_PropertySetHomeKey(PBS_HomeEventEnum eventEnum, PBS_HomeFunctionEnum function, Action callback) 功能:home 按键设置,重新定义Home键,会影响系统定义的Home键功能,请开发者酌情使用 参数: eventEnum:单击双击和长按事件 .. code-block:: xml PBS_HomeEventEnum.SINGLE_CLICK:单击 PBS_HomeEventEnum.DOUBLE_CLICK:双击 PBS_HomeEventEnum.LONG_PRESS:长按 (Neo3系列设备不支持) function:启动设置应用,返回,校准等 以下参数适用于G2系列和Neo 2系列 .. code-block:: xml PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING:打开设置 PBS_HomeFunctionEnum.VALUE_HOME_BACK:返回 PBS_HomeFunctionEnum.VALUE_HOME_RECENTER:校准 PBS_HomeFunctionEnum.VALUE_HOME_OPEN_APP:打开指定APP PBS_HomeFunctionEnum.VALUE_HOME_DISABLE:禁用HOME键 PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_HOME:打开Launcher PBS_HomeFunctionEnum.VALUE_HOME_SEND_BROADCAST:发送HOME键点击广播 PBS_HomeFunctionEnum.VALUE_HOME_CLEAN_MEMORY:清空后台 以下参数适用于Neo 3系列 .. code-block:: xml PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING:打开设置 PBS_HomeFunctionEnum.VALUE_HOME_RECENTER:校准 PBS_HomeFunctionEnum.VALUE_HOME_DISABLE:禁用HOME键 PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_HOME:打开Launcher callback:设置是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_PropertySetHomeKey(eventEnum,function,callback) UPvr_PropertySetHomeKeyAll ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_PropertySetHomeKeyAll(PBS_HomeEventEnum eventEnum, PBS_HomeFunctionEnum function, int timesetup, string pkg, string className, Action callback) 功能:home 按键扩展设置 参数: eventEnum:单击双击和长按事件, .. code-block:: xml PBS_HomeEventEnum. SINGLE_CLICK:单击 PBS_HomeEventEnum. DOUBLE_CLICK:双击 PBS_HomeEventEnum. LONG_PRESS:长按 (Neo3系列设备不支持) function:启动设置应用,返回,校准等 以下参数适用于G2系列和Neo 2系列 .. code-block:: xml PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING:打开设置 PBS_HomeFunctionEnum.VALUE_HOME_BACK:返回 PBS_HomeFunctionEnum.VALUE_HOME_RECENTER:校准 PBS_HomeFunctionEnum.VALUE_HOME_OPEN_APP:打开指定APP PBS_HomeFunctionEnum.VALUE_HOME_DISABLE:禁用HOME键 PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_HOME:打开Launcher PBS_HomeFunctionEnum.VALUE_HOME_SEND_BROADCAST:发送HOME键点击广播 PBS_HomeFunctionEnum.VALUE_HOME_CLEAN_MEMORY:清空后台 以下参数适用于Neo 3系列 .. code-block:: xml PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_SETTING:打开设置 PBS_HomeFunctionEnum.VALUE_HOME_RECENTER:校准 PBS_HomeFunctionEnum.VALUE_HOME_DISABLE:禁用HOME键 PBS_HomeFunctionEnum.VALUE_HOME_GO_TO_HOME:打开Launcher timesetup:只有双击和长按事件有事件才设置按键间隔时间,系统默认双击间隔判断标准不超过300ms,长按时长大于或等于500ms;短按传0即可 pkg:当function是HOME_FUNCTION_OPEN_APP: 传入指定的包名;其他情况传null className:当function是HOME_FUNCTION_OPEN_APP: 传入指定的类名;其他情况传null callback:设置是否成功回调 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_PropertySetHomeKeyAll(eventEnum,function, timesetup, pkg, className, callback) UPvr_PropertyDisablePowerKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_PropertyDisablePowerKey(bool isSingleTap, bool enable,Action callback) 功能:power 按键设置 参数: isSingleTap:单击事件[true],长按事件[false] enable:按键使能状态 callback: 设置是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_PropertyDisablePowerKey(isSingleTap, enable,callback) UPvr_PropertySetScreenOffDelay ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_PropertySetScreenOffDelay(PBS_ScreenOffDelayTimeEnum timeEnum,Action callback) 功能:屏幕关闭超时设置 参数: timeEnum:屏幕关闭超时时间,时间不能大于系统休眠超时时间 .. code-block:: xml PBS_ScreenOffDelayTimeEnum. THREE:3秒 PBS_ScreenOffDelayTimeEnum. TEN:10秒 PBS_ScreenOffDelayTimeEnum. THIRTY:30秒 PBS_ScreenOffDelayTimeEnum. SIXTY:60秒 PBS_ScreenOffDelayTimeEnum. THREE_HUNDRED:5分钟 PBS_ScreenOffDelayTimeEnum. SIX_HUNDRED:10分钟 PBS_ScreenOffDelayTimeEnum. NEVER:永久 callback:设置是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_PropertySetScreenOffDelay(timeEnum,callback) UPvr_PropertySetSleepDelay ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_PropertySetSleepDelay(PBS_SleepDelayTimeEnum timeEnum) 功能:系统休眠超时设置 参数:timeEnum:系统休眠超时时间 .. code-block:: xml PBS_SleepDelayTimeEnum. FIFTEEN:15秒 PBS_SleepDelayTimeEnum. THIRTY:30秒 PBS_SleepDelayTimeEnum. SIXTY:60秒 PBS_SleepDelayTimeEnum. THREE_HUNDRED:5分钟 PBS_SleepDelayTimeEnum. SIX_HUNDRED:10分钟 PBS_SleepDelayTimeEnum. ONE_THOUSAND_AND_EIGHT_HUNDRED:30分钟 PBS_SleepDelayTimeEnum. NEVER:永久 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_PropertySetSleepDelay(timeEnum) UPvr_SwitchSystemFunction ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SwitchSystemFunction(PBS_SystemFunctionSwitchEnum systemFunction, PBS_SwitchEnum switchEnum) 功能:常用系统开关设置 参数: systemFunction:功能类型 .. code-block:: xml PBS_SystemFunctionSwitchEnum.SFS_USB:USB调试开关 PBS_SystemFunctionSwitchEnum.SFS_AUTOSLEEP:自动休眠开关 PBS_SystemFunctionSwitchEnum.SFS_SCREENON_CHARGING:亮屏充电开关 PBS_SystemFunctionSwitchEnum.SFS_OTG_CHARGING:OTG充电开关 PBS_SystemFunctionSwitchEnum.SFS_RETURN_MENU_IN_2DMODE:2D界面下返回图标显示开关 PBS_SystemFunctionSwitchEnum.SFS_COMBINATION_KEY:组合键开关 PBS_SystemFunctionSwitchEnum.SFS_CALIBRATION_WITH_POWER_ON:开机校准开关 PBS_SystemFunctionSwitchEnum.SFS_SYSTEM_UPDATE:系统升级开关 PBS_SystemFunctionSwitchEnum.SFS_CAST_SERVICE:手机投屏开关,行业解决方案开关打开时,该属性不生效 PBS_SystemFunctionSwitchEnum.SFS_EYE_PROTECTION:护眼模式开关 PBS_SystemFunctionSwitchEnum.SFS_SECURITY_ZONE_PERMANENTLY:Net2 6Dof安全区永久关闭开关 PBS_SystemFunctionSwitchEnum.SFS_GLOBAL_CALIBRATION:全局校准开关(仅G2系列有,CV2系列无) PBS_SystemFunctionSwitchEnum.SFS_Auto_Calibration:自动校准开关 PBS_SystemFunctionSwitchEnum.SFS_USB_BOOT:USB插入启动开关 switchEnum:开关值 .. code-block:: xml PBS_SwitchEnum.S_ON:开 PBS_SwitchEnum.S_OFF:关 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_SwitchSystemFunction(systemFunction,switchEnum) UPvr_SwitchSetUsbConfigurationOption ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SwitchSetUsbConfigurationOption(PBS_USBConfigModeEnum uSBConfigModeEnum) 功能:USB配置模式设置(MTP、充电) 参数:uSBConfigModeEnum:MTP,充电 .. code-block:: xml PBS_USBConfigModeEnum.MTP:MTP模式 PBS_USBConfigModeEnum.CHARGE:充电模式 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_SwitchSetUsbConfigurationOption(uSBConfigModeEnum) UPvr_AcquireWakeLock ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_AcquireWakeLock() 功能:请求wakelock接口 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_AcquireWakeLock (); UPvr_ReleaseWakeLock ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ReleaseWakeLock() 功能:释放wakelock接口 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_ ReleaseWakeLock (); UPvr_EnableEnterKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_EnableEnterKey() 功能:恢复确认键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_EnableEnterKey(); UPvr_DisableEnterKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_DisableEnterKey() 功能:屏蔽确认键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_DisableEnterKey(); UPvr_EnableVolumeKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_EnableVolumeKey() 功能:恢复音量键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_EnableVolumeKey(); UPvr_DisableVolumeKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_DisableVolumeKey() 功能:屏蔽音量键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_DisableVolumeKey(); UPvr_EnableBackKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_EnableBackKey() 功能:恢复返回键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_EnableBackKey(); UPvr_DisableBackKey ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_DisableBackKey() 功能:屏蔽返回键 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_DisableBackKey(); UPvr_WriteConfigFileToDataLocal ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_WriteConfigFileToDataLocal(string path, string content, Action callback) 功能:向Data/local/tmp下写配置文件 参数:path:配置文件路径( “/data/local/tmp/config.txt”),content:配置文件内容(“” ),callback:写入配置文件是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_WriteConfigFileToDataLocal(string path, string content, Action callback); UPvr_ResetAllKeyToDefault ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ResetAllKeyToDefault (Action callback) 功能:恢复默认按键配置 参数:callback:恢复默认按键配置是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ResetAllKeyToDefault (Action callback); UPvr_OpenMiracast (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_OpenMiracast() 功能:开启投屏功能 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_OpenMiracast(); UPvr_IsMiracastOn (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_IsMiracastOn() 功能:获取投屏开启状态 参数:无 返回值:true 开启 ;false关闭 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_IsMiracastOn (); UPvr_CloseMiracast (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_CloseMiracast () 功能:关闭投屏功能 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_CloseMiracast (); UPvr_StartScan (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_StartScan() 功能:开始扫描 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_StartScan(); UPvr_StopScan (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_StopScan() 功能:停止扫描 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_StopScan(); UPvr_SetWDJsonCallback (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SetWDJsonCallback() 功能:设定扫描结果callback,返回json字符串,包含过去连接过设备和扫描出的设备 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_SetWDJsonCallback(); UPvr_ConnectWifiDisplay (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ConnectWifiDisplay(string modelJson) 功能:投屏到指定设备 参数:modelJson:Callback返回的WifiDisplayModel { "deviceAddress": "e2:37:bf:76:33:c6", "deviceName": "\u5BA2\u5385\u7684\u5C0F\u7C73\u7535\u89C6", "isAvailable": "true", "canConnect": "true", "isRemembered": "false", "statusCode": "-1", "status": "", "description": "" } 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ConnectWifiDisplay(modelJson); UPvr_DisConnectWifiDisplay (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_DisConnectWifiDisplay() 功能:断开投屏 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_DisConnectWifiDisplay(); UPvr_ForgetWifiDisplay (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ForgetWifiDisplay(string address) 功能:忘记已连接过设备 参数:address:设备的地址 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ForgetWifiDisplay(address); UPvr_RenameWifiDisplay (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_RenameWifiDisplay (string address , string newName) 功能:修改已连接设备名称(只是本地存储名称) 参数:address:设备的地址,newName:设备新名称 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_RenameWifiDisplay (address,newName); UPvr_UpdateWifiDisplays (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_UpdateWifiDisplays(Action callback) 功能:手动更新列表 参数:callback:通过SetWDJsonCallback返回结果 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_UpdateWifiDisplays(callback); UPvr_GetConnectedWD (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static string UPvr_GetConnectedWD() 功能:获取当前连接的设备信息 参数:无 返回值:返回当前连接的设备信息 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_GetConnectedWD(); 7.12.2 受保护接口 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 注意:调用以下接口需要在manifest里添加以下标签,添加此标签后无法上架Pico Store。 .. code-block:: xml UPvr_ControlSetDeviceAction ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:Pvr_UnitySDKAPI.ToBService. UPvr_ControlSetDeviceAction(PBS_DeviceControlEnum deviceControl,Action callback) 功能:控制设备关机、重启 参数: deviceControl:控制类型关机、重启, .. code-block:: xml PBS_DeviceControlEnum.DEVICE_CONTROL_REBOOT:重启 PBS_DeviceControlEnum.DEVICE_CONTROL_SHUTDOWN:关机 callback: 回调接口,关机/重启是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_ControlSetDeviceAction(PBS_DeviceControlEnum.DEVICE_CONTROL_SHUTDOWN,callback) UPvr_ControlAPPManger ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ControlAPPManger(PBS_PackageControlEnum packageControl, string path, Action callback) 功能:应用控制静默安装,静默卸载 参数: packageControl:应用控制类型静默安装,静默卸载 .. code-block:: xml PBS_PackageControlEnum.PACKAGE_SILENCE_INSTALL:安装 PBS_PackageControlEnum.PACKAGE_SILENCE_UNINSTALL:卸载 path:静默安装的安装包路径/静默卸载的应用包名 callback: 回调接口, 安装/卸载是否成功 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService.UPvr_ControlAPPManger(PBS_PackageControlEnum.PACKAGE_SILENCE_UNINSTALL, "com.xxx.xxx",callback) UPvr_ScreenOn ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ScreenOn() 功能:控制设备开屏 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ScreenOn(); UPvr_ScreenOff ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_ScreenOff() 功能:控制设备关屏 参数:无 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_ScreenOff(); UPvr_SetAPPAsHome ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_SetAPPAsHome(PBS_SwitchEnum switchEnum, string packageName) 功能:设置app为launcher 参数:switchEnum:开关,packageName:app的包名 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_SetAPPAsHome(switchEnum,packageName); UPvr_KillAppsByPidOrPackageName (New) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static void UPvr_KillAppsByPidOrPackageName(int[] pids, string[] packageNames) 功能:通过传入应用pid或应用包名方式杀死应用 参数:pids:应用pid数组, packageNames:应用包名数组 返回值:无 调用方式:Pvr_UnitySDKAPI.ToBService. UPvr_KillAppsByPidOrPackageName(pids, packageNames); 7.13 成就系统相关 ---------------------------------- 7.13.1 准备工作 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 开发者在接入成就系统时,需要在开发者平台创建应用并获取相应字符串。申请流程如下: - 1. 登录开发者平台并注册Pico会员(https://developer.pico-interactive.com/) - 2. 申请成为开发者 开发者分为个人开发者和企业开发者,请根据实际情况进行申请。审核提交后,我们会在3个工作日内进行反馈,请及时查看开发者平台状态。 - 3. 查看商户ID - 4. 创建成就信息 点击“查看”进入应用详情页。如果您还没有任何应用,请先“创建应用”,创建应用成功后,平台会自动分配应用唯一标识APP ID。 .. image:: _static/7.13.1.png 图7.13.1 开发者平台 在详情页面底部找到并点击“平台服务配置 – 成就”。 .. image:: _static/7.13.2.png 图7.13.2 开发者平台 在成就页面可以看到您已创建的所有成就。如果您还没有任何成就,请点击“创建”。 .. image:: _static/7.13.3.png 图7.13.3 开发者平台 按要求填写成就的信息。填入的API 名称必须代码中的保持一致。 - 5. 成就类型 (1).简单类型:通过单个事件或目标完成来解锁,无成就进展 (2).计数器类型:到达指定目标个数时解锁(e.g. 完成5个解锁,target=5) (3).位域类型:到达指定范围的指定目标个数时解锁(e.g. 完成指定7个目标中的3个解锁,Target=3,Bitfield Length=7) - 6. Platform Settings配置应用appid (1).在工程Platform Settings和Manifest.xml中配置有效APP ID: .. image:: _static/7.13.4.png 图7.13.4 Platform Settings面板 (2).AndroidManifest配置详情参考9.1.1,9.1.2支付章节 7.13.2 接口调用 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Achievements.Init ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request Init() 功能:成就系统初始化 参数:无 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements.Init() Achievements.GetAllDefinitions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetAllDefinitions() 功能:获取所有成就定义信息 参数:无 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetAllDefinitions () Achievements.GetAllProgress ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetAllProgress() 功能:获取所有已修改成就进度信息 参数:无 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetAllProgress () Achievements.GetDefinitionsByName ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetDefinitionsByName(string[] names) 功能:根据name获取成就定义信息 参数:names:要获取定义信息的成就apiname数组 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetDefinitionsByName (names) Achievements.GetProgressByName ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetProgressByName(string[] names) 功能:根据name获取成就进度信息 参数:names:要获取定义信息的成就apiname数组 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetProgressByName (names) Achievements.AddCount ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request AddCount(string name, long count) 功能:count类型成就增加 参数:name:成就apiname,count:增加数 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. AddCount (name,count) Achievements.AddFields ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request AddFields(string name, string fields) 功能:bitfield类型成就增加 参数:name:成就apiname,fields:增加数 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. AddFields (name,bitfield) Achievements.Unlock ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request Unlock(string name) 功能:根据apiname解锁成就 参数:name:成就apiname 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. Unlock (name) Achievements.GetNextAchievementDefinitionListPage ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetNextAchievementDefinitionListPage(Pvr_AchievementDefinitionList list) 功能:获取所有成就定义信息时,若存在多页,获取下一页 参数:无 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetNextAchievementDefinitionListPage(achievementDefinitionList) Achievements.GetNextAchievementProgressListPage ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 函数名:public static Pvr_Request GetNextAchievementProgressListPage(Pvr_AchievementProgressList list) 功能:获取所有已修改成就进度信息时,若存在多页,获取下一页 参数:无 返回值:接口调用结果 调用方式: Pvr_UnitySDKAPI. Achievements. GetNextAchievementProgressListPage(achievementProgressList) 7.13.3 使用注意事项 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (1)请先使用Pico账号登陆设备,再使用成就接口和功能 (2)为了避免由于设备账号切换、退登导致的成就数据出现误差,请在应用Resume()中重新调用一次初始化,以确保应用获取正确的用户登陆信息。 (3)开发调试阶段可以通过以下方式调试和测试 a. Logcat b. 通过开发者平台-应用-成就信息页查看数据