失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Unity VR:关于如何捕捉VR手柄按键

Unity VR:关于如何捕捉VR手柄按键

时间:2022-07-08 11:45:44

相关推荐

Unity VR:关于如何捕捉VR手柄按键

背景:

接收手柄按键信息是游戏必备操作,而VR设备信号的获取也存在多种方式。传统方法一般是通过InputDevice类来识别获取,根据情况也可以有更简单粗暴的方法,我这里先记录一下自己的小小总结。

软获取和硬获取

对网上介绍的传统方法大致了解后,我犯懒的老毛病就又犯了。Unity既然能够通过Public直接托对象关联,我又何必麻烦指定对象呢?但是发现InputDevice类不支持直接暴露在Inspector中(静态类?),于是先using UnityEngine.XR.Interaction.Toolkit;然后声明一个public XRBaseController left_controller;Inspector上一关联就想爽爽用这个类实例下的成员属性接收手柄控制。由于上述方法获取渠道不是Inputdevice,而是xrbasecontroller类,所以只能获得3种state,分别是activate,Select和UI Press,从Inspector上可以看到,这三种state都可以在面板上自定义关联哪几个键:

根据上图的匹配情况,left_controller.uiPressInteractionState.value获得的就是primary button的值。这么一分析,似乎这种简单粗暴的方法就能够比较方便地获得手柄输入了,但是由于只能识别三种state,所以并不能映射所有的手柄按键。另外在使用的感觉上,似乎这种用法存在一定的延迟效应,这应该是由于获取的对象类并不直接是device而导致。

如果觉得《Unity VR:关于如何捕捉VR手柄按键》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。