SteamVR2.0基本思路及快速入门
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基本思路及快速入门相关推荐
- NX12.0工业产品设计快速入门完全自学视频教程,详细讲解,通俗易懂
工业机械五金零件设计3D画图建模,让设计更精准,更智通,更快速! 教程版本:2021基础快速入门版(软件版本UG-NX12.0) 本教程有35课时,结合讲师多年的工作经验为提前下,以一种最容易让新手快 ...
- Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN
快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...
- 『0基础』Java快速入门必备秘籍
Java之所以是大家最受欢迎的编程语言,是因为它在互联网中的使用非常广泛.随着互联网软件开发的进行,企业增加了更多的Java的岗位需求.因此,Java开发人员的工作机会增加了. 在入行Java之前,相 ...
- 0基础该如何快速入门python?全写在这篇学习攻略里了
目前python是一门相对应比较火爆的编程语言,应用范围也非常的广泛,但目前竞争不大,工资也算乐观,未来发展也极好. 但是对python这个行业根本不了解的情况下,一味的买书看书.看视频,是很难达到预 ...
- 阿里云Sophix 3.0版本热更新快速入门
废话不多说 什么优缺点 大家肯定已经比较过,就想找到一种既方便有安全而且快捷的集成方案,一下满满的干活: 1:首先登录阿里云地址: https://www.aliyun.com/product/hot ...
- 【第0天】MYSQL快速入门-了解MySQL存储引擎(SQL 小虚竹)
回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.什么是数据库引擎 二.MYSQL中有哪些数据库引擎 2.1.MyISAM 2.2.Memoey 2.3.I ...
- tensorflow2.0教程- Keras 快速入门
tensorflow2.0教程-tensorflow.keras 快速入门 Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/artic ...
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...
- 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一
点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一 今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...
最新文章
- C# 操作Excel之旁门左道 [ C# | Excel ]
- Spring Security Architecture--官方
- F5金飞:“双十一”安全事项三部曲
- 【WPF】获取电磁笔的压感
- 不再单打独斗?中国移动联合多企业组建医疗数据公司
- 根据多个字段分组_Excel 分组后计算
- 翻译连载 | 附录 A:Transducing(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
- mysql tb级数据库_4.5万字手把手教你实现MySQL TB级数据存储!!
- vs2015运行编译器遇到堆空间不足问题
- solidworks工程图模板为什么不能存为slddrt格式
- C语言(New B语言)
- 软件测试基础之功能性测试
- 中文数字阿拉伯数字相互转换(Java版本)
- 面试官:请解释一下Twitter的前10行源代码
- 公司打卡签到活动小程序,打卡更轻松,管理更便捷JavaScript 错误 - throw、try 和 catch
- C# Hash字符串
- Bacteria(优先队列)
- 场景中配置阴影(个人笔记)
- JAVA读取X.509格式的cer公钥文件信息
- ping命令 网络抓包 分析