基础的功能可以玩一玩了。
那实现抓取、想使用设备的其他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交互的手柄,其与手柄的索引号并无特定关系) | 无 |
本节建议收藏保存,
随时查看(●'◡'●)
大家还有什么问题,欢迎在下方留言!