背景
HeadSet不在身边时如果也想进行VR开发,就需要用到模拟输入,也就是Mock HMD。 网上的内容大都是讲到Mock HMD的实际测试,却没有讲到脚本上如何获取,实际测了一下,Mock状态下由于Device也变成了MockHMD所以用一般的Inputdevice相关方法是无法拿到按钮的。由于不可能实时把Headset待在身边,因此必须解决这个问题。
解决方法比如Grab按键,可以用如下方法判断模拟按键是否按下。
- 声明一个ActionBasedController类型的public变量
- 把XRrig下想要判断的那个controller拖到刚才定义的变量中
- 在Update中进行如下判断:
if (leftController.currentControllerState.selectInteractionState.value > 0) { Debug.Log("grab"); } else { Debug.Log("nothing"); }