SteamVR2.0(我这里用v2.5版本)的动作捕捉与MFC中的变量绑定很相像,大致分三步

(1).在SteamVR Input中定义量A

变量类型决定可绑定哪个动作。比如要检测手柄扣板机动作,可以检测是否扣了扳机(对应bool变量),也可以检测扣了多大幅度(对应single或Vector1变量)。

(2).将变量A与某个动作绑定

(3).在代码中使用变量A

经过上面三步,实现了代码与硬件的通信,变量A是中间媒介。当变量A绑定了新的按键动作时,代码不用修改就可适配,解耦了硬件与代码。

下面开始进行实际操作,以HTC VIVE作为VR设备进行测试。部分细节忽略,只写主要部分。

1.在SteamVR Input中定义量A

在Unity编辑器中,使用 Window > SteamVR Input 命令,打开SteamVR Input 窗口。

初次导入SteamVR 2.0并运行程序时,会弹出一个对话框,提示没有actions.json文件,并询问是否要使用默认值,选择Yes。

新增变量MyGripSingle,变量类型为Vector1,完成后点击【Save and generate】按钮。

2.将变量A与某个动作绑定

点击【Open binding UI】,开始将变量与动作绑定。

3.在代码中使用变量A即可

(1).新建场景,将Assets\SteamVR\Prefabs下的[SteamVR].prefab、[CameraRig].prefab拖入场景,有了这两个组件,就可以在头显中看到VR场景了。

(2).创建空物体MyTest,创建脚本MyTest.cs并挂载到MyTest物体上,在MyTest.cs输入如下代码:

using UnityEngine;
using Valve.VR;public class MyTest : MonoBehaviour {void Update () {if (SteamVR_Actions.default_MyGripSingle.changed){Debug.Log("检测到:"+SteamVR_Actions.default_MyGripSingle.axis);}if (SteamVR_Actions.default_MyGripSingle[SteamVR_Input_Sources.LeftHand].changed){Debug.Log("检测到左手柄:"+SteamVR_Actions.default_MyGripSingle[SteamVR_Input_Sources.LeftHand].axis);}if (SteamVR_Actions.default_MyGripSingle[SteamVR_Input_Sources.RightHand].changed){Debug.Log("检测到右手柄:" + SteamVR_Actions.default_MyGripSingle[SteamVR_Input_Sources.RightHand].axis);}}
}

(3).运行程序,扣动扳机,就可以看到输出结果了。大功告成。

SteamVR2.0基本思路及快速入门相关推荐

  1. NX12.0工业产品设计快速入门完全自学视频教程,详细讲解,通俗易懂

    工业机械五金零件设计3D画图建模,让设计更精准,更智通,更快速! 教程版本:2021基础快速入门版(软件版本UG-NX12.0) 本教程有35课时,结合讲师多年的工作经验为提前下,以一种最容易让新手快 ...

  2. Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN

    快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...

  3. 『0基础』Java快速入门必备秘籍

    Java之所以是大家最受欢迎的编程语言,是因为它在互联网中的使用非常广泛.随着互联网软件开发的进行,企业增加了更多的Java的岗位需求.因此,Java开发人员的工作机会增加了. 在入行Java之前,相 ...

  4. 0基础该如何快速入门python?全写在这篇学习攻略里了

    目前python是一门相对应比较火爆的编程语言,应用范围也非常的广泛,但目前竞争不大,工资也算乐观,未来发展也极好. 但是对python这个行业根本不了解的情况下,一味的买书看书.看视频,是很难达到预 ...

  5. 阿里云Sophix 3.0版本热更新快速入门

    废话不多说 什么优缺点 大家肯定已经比较过,就想找到一种既方便有安全而且快捷的集成方案,一下满满的干活: 1:首先登录阿里云地址: https://www.aliyun.com/product/hot ...

  6. 【第0天】MYSQL快速入门-了解MySQL存储引擎(SQL 小虚竹)

    回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.什么是数据库引擎 二.MYSQL中有哪些数据库引擎 2.1.MyISAM 2.2.Memoey 2.3.I ...

  7. tensorflow2.0教程- Keras 快速入门

    tensorflow2.0教程-tensorflow.keras 快速入门 Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/artic ...

  8. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  9. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

最新文章

  1. C# 操作Excel之旁门左道 [ C# | Excel ]
  2. Spring Security Architecture--官方
  3. F5金飞:“双十一”安全事项三部曲
  4. 【WPF】获取电磁笔的压感
  5. 不再单打独斗?中国移动联合多企业组建医疗数据公司
  6. 根据多个字段分组_Excel 分组后计算
  7. 翻译连载 | 附录 A:Transducing(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
  8. mysql tb级数据库_4.5万字手把手教你实现MySQL TB级数据存储!!
  9. vs2015运行编译器遇到堆空间不足问题
  10. solidworks工程图模板为什么不能存为slddrt格式
  11. C语言(New B语言)
  12. 软件测试基础之功能性测试
  13. 中文数字阿拉伯数字相互转换(Java版本)
  14. 面试官:请解释一下Twitter的前10行源代码
  15. 公司打卡签到活动小程序,打卡更轻松,管理更便捷JavaScript 错误 - throw、try 和 catch
  16. C# Hash字符串
  17. Bacteria(优先队列)
  18. 场景中配置阴影(个人笔记)
  19. JAVA读取X.509格式的cer公钥文件信息
  20. ping命令 网络抓包 分析

热门文章

  1. 学习记录677@项目管理之配置管理案例
  2. 失望的Vista SP1
  3. 《流浪地球2》Deepfake小试牛刀,45+吴京「被」年轻,变身21岁小鲜肉
  4. 伊家田园解读“区块链+农业”——将给农业带来怎样的蜕变?
  5. 阿里实习offer成功上岸,这几点至关重要
  6. Unity实战——牧师与魔鬼
  7. jsp中include的两个用法
  8. C语言str系列库函数
  9. English--谚语
  10. 动态html动画是什么格式,gif动态图片制作视频格式文件