HTC Vive开发笔记之手柄控制
怎么安装设备,配置环境我就不说了,自行百度,教程很多也很简单。接下来说下Vive手柄的控制。

手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮:
- 第一个是菜单按钮;
- 2,3,4,5分别对应的是Trackpad/Touchpad的上下左右,有时候对应的是XBox手柄的▲OX囗四个按钮或者摇杆;
- 6对应的是系统按钮/Steam;
- 7是Trigger/扳机,对应大多数FPS游戏里面的枪械的Shoot/Fire;
- 8对应的Grip/紧握在手柄的左右两侧各有一个,有时候我们用它来翻页;
- 9其实是Trackpad/Touchpad在Z轴的一个延伸,相当于是点击事件Click.
using UnityEngine;
using System.Collections;
/// <summary>
/// 扳机控制触发事件
/// </summary>
public class ComfirmController : MonoBehaviour {
//手柄
SteamVR_TrackedObject trackedObj; void Awake()
{
//获取手柄脚本组件
trackedObj = GetComponent<SteamVR_TrackedObject> ();
} // Use this for initialization
void Start () { } // Update is called once per frame
void FixedUpdate () { //获取手柄输入
var device = SteamVR_Controller.Input ((int)trackedObj.index); //此处可以换其他的函数触发GetPress/GetTouch /GetPressUp GetTouchDown/GetTouchUp/GetAxis
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Touchpad))
{
Debug.Log("按下圆盘");
}
else if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
{ Debug.Log("按下扳机键");
}
else if (device.GetPressDown(SteamVR_Controller.ButtonMask.Grip))
{ Debug.Log("按下手柄侧键");
}
else if (device.GetPressDown(SteamVR_Controller.ButtonMask.ApplicationMenu))
{ Debug.Log("按下手柄菜单键");
}
else if (device.GetPressDown(SteamVR_Controller.ButtonMask.ApplicationMenu))
{ Debug.Log("按下手柄菜单键");
} }
}
HTC Vive开发笔记之手柄控制的更多相关文章
- HTC Vive开发笔记之UI Guideline
本文转自HTC官方论坛,原址https://www.htcvive.com/cn/forum/chat.php?mod=viewthread&tid=1641&extra=page=1 ...
- HTC Vive开发笔记之SteamVR插件集成
重要组件 SteamVR_Camera VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面 使用方法: l 在任一个摄像机上增加脚本 l 点击Expand按钮 完成以上操 ...
- HTC Vive开发笔记之手柄震动
手柄震动的代码SteamVR_Controller脚本的最上面的注释里面就有说明,其实也很简单 // Example usage: //这个栗子是左手柄震动 右手震动只需把Leftmost换成Righ ...
- unity3D HTC VIVE开发-物体高亮功能实现
在VR开发时,有时需要用到物体高亮的功能.这里使用Highlighting System v3.0.1.unitypackage插件实现. Highlighting System v3.0.1的介绍访 ...
- HTC vive开发:关于手柄按键
一.关于左右手柄的对应关系 两个手柄和SteamVR_TrackedObject.EIndex是对应的,一个是EIndex.Device2,另一个是EIndex.Device3(有编号的那个) 在场景 ...
- osgMulitiplerendertargets sample 中fbo使用【HTC VIVE开发中应用】
osgmultiplerendertargets.cpp ...................................... // now create the camera to do t ...
- Unity 5.4大赞:HTC Vive经典The lab渲染器开源
HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番. 仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本 ...
- 用Unity开发HTC VIVE——手柄控制篇
写这篇文章的原因主要是因为现在虚拟现实非常的火爆但目前主流的虚拟现实设备(HTC VIVE)的教程却少的可怜,这个我深有体会.所以,我想将我平时开发中遇到的问题以及解决方法记录下来,分享给大家,若其中 ...
- HTC vive VR设备软硬件安装+运行unity开发的VR程序
总结在HTC vive VR开发过程中的HTC vive的安装调试 1.首先确保电脑的配置满足要求: 进入官网,测试电脑是否满足要求 链接:https://www.vive.com/us/produc ...
随机推荐
- 读<jQuery 权威指南>[5]-插件
一.说明 jQuery插件官网:http://plugins.jquery.com/ 使用插件时引用顺序:插件引用要位于主jquery库之后. 二.插件应用实例 演示插件jquery.validate ...
- 使用Jsoup 抓取页面的数据
需要使用的是jsoup-1.7.3.jar包 如果需要看文档我下载请借一步到官网:http://jsoup.org/ 这里贴一下我用到的 Java工程的测试代码 package com.javen ...
- ionic 安装遇到的问题以及解决方案
公司里要用到 Ionic 做移动App 混合开发 一个环境搭建折腾了好几天.一是公司权限问题,二是网络问题,你懂得. Ionic 环境搭建官网有教程.本来几行命令就能搞定的事,一旦遇到网络问题,就蛋疼 ...
- Windows 7中无法访问FTP的解决方法
解决: netsh advfirewall set global StatefulFTP disable
- servlet执行流程
视频地址:http://www.imooc.com/video/5550 1-6 用户输入地址:localhost:8080/MyFirstServletDemo/index.jsp (My ...
- git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)
每次git提交,都会有一个parent指针,指向上一次的commit , 如果合并,master就和hotfix河道一起,就直接删除hotfix就OK 此时,虽然操作一样,大底层实现不一样 ...
- Java中正则表达式及其常用类Math、Calendar、Date、BigDecimal、BigInterger、System、Rondom的使用
1:正则表达式(理解) (1)就是符合一定规则的字符串 (2)常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ( ...
- WAMP环境启动失败处理办法
点击控制面板->系统与安全->管理工具->查看事件日志->windows日志->应用程序 查看错误日志,查找错误并解决
- Objective-C学习笔记-第一天(3)
话不多说,学了这么多,写个快速排序先. 除了快排,以后有时间还要加堆排.归并等等. 今天学了有,类.协议.语法. 因为算法类,不止一个算法.所以新建一个Algorithm(算法)协议: #import ...
- 【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)
1)目的:实验室小网空间因镜像版本太多,容量告警,希望清出一部分空间 具体需求:删除E盘下,所有含rar字符串的文件: 删除E盘下,所有含hi6620字符串文件夹: 步骤: (风险请知:如果不chec ...