您当前的位置: 首页 >  vr

每日出拳老爷子

暂无认证

  • 4浏览

    0关注

    135博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

每日出拳老爷子 发布时间:2021-12-17 00:10:32 ,浏览量:4

背景:

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

软获取和硬获取
  1. 对网上介绍的传统方法大致了解后,我犯懒的老毛病就又犯了。Unity既然能够通过Public直接托对象关联,我又何必麻烦指定对象呢?但是发现InputDevice类不支持直接暴露在Inspector中(静态类?),于是先using UnityEngine.XR.Interaction.Toolkit;然后声明一个public XRBaseController left_controller;Inspector上一关联就想爽爽用这个类实例下的成员属性接收手柄控制。
  2. 由于上述方法获取渠道不是Inputdevice,而是xrbasecontroller类,所以只能获得3种state,分别是activate,Select和UI Press,从Inspector上可以看到,这三种state都可以在面板上自定义关联哪几个键: 在这里插入图片描述 根据上图的匹配情况,left_controller.uiPressInteractionState.value获得的就是primary button的值。
  3. 这么一分析,似乎这种简单粗暴的方法就能够比较方便地获得手柄输入了,但是由于只能识别三种state,所以并不能映射所有的手柄按键。
  4. 另外在使用的感觉上,似乎这种用法存在一定的延迟效应,这应该是由于获取的对象类并不直接是device而导致。
关注
打赏
1657016083
查看更多评论
立即登录/注册

微信扫码登录

0.0345s