PicoVR Unity SDK⭐️五、常用API接口函数一览

2024-08-15 20:14:44 浏览数 (2)

在之前的学习中,我们一起了解了SDK的与UI交互、传送,

基础的功能可以玩一玩了。

那实现抓取、想使用设备的其他Grab、X键,来做更多事情,

就需要获取设备的按键事件、硬件信息了

所以本节,就带大家了解下SDK的API

那么这个一键三连,嗯。。。

功能

调用方式

参数

返回值

判断按键是否按下

Pvr_UnitySDKAPI.Controller.UPvr_GetKeyDown(hand , key)

0/1,Pvr_KeyCode

true:按下一次 false:未按下

判断按键是否按住

Pvr_UnitySDKAPI.Controller.UPvr_GetKey(hand , key)

0/1,Pvr_KeyCode

true:按住 false :未按住

判断按键是否抬起

Pvr_UnitySDKAPI.Controller.UPvr_GetKeyUp(hand , key)

0/1,Pvr_KeyCode

true:抬起一次 false:未抬起

判断按键是否按下抬起了一次

Pvr_UnitySDKAPI.Controller.UPvr_GetKeyClick(hand , key)

0/1,Pvr_KeyCode

true:0.5秒内完成按下抬起动作 false:超时

判断按键是否被长按

Pvr_UnitySDKAPI.Controller.UPvr_GetKeyLongPressed(hand , key)

0/1,Pvr_KeyCode

true:长按按键达到0.5秒 false:未达到长按时间

获取摇杆的拨动值

Pvr_UnitySDKAPI.Controller.UPvr_GetAxis2D (hand)

0/1

范围为-1到1

获取Trigger键的压下值

Pvr_UnitySDKAPI.Controller.UPvr_GetControllerTriggerValue(hand)

0/1

0~255(适用于Neo2、Neo3)

获取手柄的加速度

Pvr_UnitySDKAPI.Controller. UPvr_GetAcceleration(int id)

int id 手柄ID

加速度,单位mm/s^2

获取手柄的线速度

Pvr_UnitySDKAPI.Controller. UPvr_GetVelocity(int id)

int id 手柄ID

线速度,单位mm/s

Neo2手柄的振动接口

Pvr_UnitySDKAPI.Controller.UPvr_VibrateNeo2Controller(float strength, int time, int hand)

震动强度strength:0-1,持续时间单位毫秒time:0-65535,手柄IDhand:0/1

获取手柄电量

Pvr_UnitySDKAPI. Controller .UPvr_GetControllerPower(int hand)

对于G2、G2 4K,请传入0;对于Neo2、Neo3,0代表左手柄,1代表右手柄

1-5

获取当前的主控手柄索引

Pvr_UnitySDKAPI.Controller.UPvr_GetMainHandNess()

0/1 (注意:Neo2、Neo3专有,在bind手柄服务成功之后才可返回正确值,我们的SDK会在应用启动时Bind手柄服务,建议开发者利用Bind回调函数判断是否bind成功)

设置当前的主控手柄

Pvr_UnitySDKAPI.Controller.UPvr_SetMainHandNess(hand)

0/1

主控手改变的回调

Pvr_ControllerManager.ChangeMainControllerCallBackEvent = XXXXX

0/1代表当前主控手柄改变为哪个(主控手柄为启用射线参与UI交互的手柄,其与手柄的索引号并无特定关系)

本节建议收藏保存,

随时查看(●'◡'●)

大家还有什么问题,欢迎在下方留言!

0 人点赞