背景:

接收手柄按键信息是游戏必备操作,而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而导致。

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

  1. Unity之OpenXR+XR Interaction Toolkit实现 监听VR手柄按键

    一.前言 当我们接入XR Interaction Toolkit之后,我们可以很方便的做不同VR设备的适配,这在很大程度上提升了我们的开发效率,我们除了通过射线和物体交互之外,偶尔我们也会希望监听手柄 ...

  2. steamvr unity 连接眼镜_unity Steam VR 手柄按键基本操作

    获取按钮 方法一: 先定义 public SteamVR_Action_Boolean disk; 使用 disk.GetLastStateDown(SteamVR_Input_Sources.Any ...

  3. 虚拟现实VR Occulus手柄按键操作

    虚拟现实VR Occulus手柄按键操作

  4. [UE4]VR手柄按键参考

    一.VR手柄按键 二.Gamepad菜单往下拉 三.Shouder Button,在一般游戏当中是用作菜单键,按一下Shouder Button会出现游戏菜单. 四.Face Buttons:可以触摸 ...

  5. 非VR环境下使用Nolo手柄进行交互应用开发

    Nolo VR是为移动VR配套开发的第三方空间定位系统,采用和SteamVR类似的激光塔定位技术,系统定位为客厅应用,仅支持一个正面激光塔(3*3米正面的VR定位应用). Nolo VR的空间定位和游 ...

  6. Unity下个月将推出开源VR编辑器,让VR内容开发so easy

    简单拖拽就能开发VR AR内容,Unity编辑工具EditorVR 12月正式发布. 此前Unity推出过一款VR内创作工具EditorVR的演示视频,最近在2016年的洛杉矶Unite开发者会议上, ...

  7. VRIK+Unity XR Interaction Toolkit 配置 VR 全身模型(下):实现腿部行走动画

    在上一篇教程:VRIK+Unity XR Interaction Toolkit 配置 VR 全身模型(上):实现上半身的追踪(附带VRM模型导入Unity方法和手腕扭曲的解决方法)当中,我们通过配置 ...

  8. unity如何使用电脑模拟VR环境

    unity如何通过VRTK模拟VR环境 如何在没有HTC VIVE的前提下使用VR?由于作者研究室课题是基于虚拟现实的人机交互,需要用到VR下的场景,但由于实验室设备只有一套,而当我们想要随时随地进行 ...

  9. 【笔记】unity 用Helios3D制作全景VR视频

    1.导入Helios插件 2.在场景中加入Helios-prefabs-Helios3D预制体到Hierarchy面板 3.设置文件保存位置WorkingFloder,勾选Camera Armed,运 ...

最新文章

  1. python常用内置函数总结-python常见的内置函数
  2. vue中使用第三方UI库的移动端rem适配方案
  3. JDK core dump分析
  4. 一个前端在校生的2018年终总结
  5. matlab 随机数权重,MATLAB中加权随机数
  6. 面向对象也可以搞单片机!
  7. vue页面渲染(请求返回的后端)data,文本换行与显示bug 的分析与解决提示
  8. Android设置透明、半透明等效果
  9. mac触控板 鼠标中键_如何使用触控板,鼠标或键盘在任何Mac上单击鼠标右键
  10. int和Integer有什么区别
  11. handsome优化 - AMP/MIP阅读
  12. linux 本地查看服务器图片-2种方式
  13. Processing绘制星空-1-随机生成静态星星
  14. 中小企业数据防泄密怎么做,墨门云数据防泄密指南
  15. 3、按键扫描检测处理
  16. 今日头条(App和MainActivity类)
  17. html怎么让视频背景固定不动,视频如何做到背景不动人物动的效果?背景动人物不动的视频...
  18. redis学习六-地理信息定位(GEO)的使用
  19. # Itext Pdf 生成、相关API
  20. [附源码]计算机毕业设计Python+uniapp基于安卓的掌上校园系统7m7o8(程序+lw+APP+远程部署)

热门文章

  1. java 界面线性布局_LinearLayout(线性布局)详解
  2. sencha touch font-face(自定义ico的另一种实现)的优劣(来至于sheng )
  3. 网络教学系统搭建对入学教育有何影响?
  4. 网页标识计算机题目,职称计算机模拟试题:Dreamweaver网页设计模拟试题及答案(6)...
  5. 校盈家学校财务收费管理软件,最适合学校财务收费的管理工具!
  6. 河南省许昌市谷歌高清卫星地图下载
  7. 从一亿个数中找出最大的一万个数或最小的一万个数
  8. 如何react中使用redux和react-redux
  9. css用什么空格,CSS中用什么进行空格的处理(实例)
  10. 从零开始学习VIO笔记 --- 第四讲:滑动窗口(基于滑动窗口算法的 VIO 系统:可观性和一致性)