Unity SteamVR插件集成
重要组件
SteamVR_Camera
VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面
使用方法:
l 在任一个摄像机上增加脚本
l 点击Expand按钮


完成以上操作后,原本的摄像机会变成如下结构

l Origin:位置
l Head:头部
l Eye:眼睛
l Ears:耳朵
至此,游戏中Vive中可以看到游戏画面,360度旋转查看游戏世界,在游戏世界中移动等




SteamVR_ControllerManager和SteamVR_TrackedObject
控制器,主要用于设置和检测Vive控制器。
Vive控制器由菜单键(ApplicationMenu),触摸板(Touchpad),系统键/电源键(System),扳机键(Trigger),侧柄键(Grip),组成

1 Menu button(菜单键)
2 Trackpad(触摸板)
3 System button(系统键/电源键)
4 Status light
5 Micro-USB port
6 Tracking sensor
7 Trigger(扳机键)
8 Grip button(侧柄键)
使用方法
在Origin物体上添加2个子物体代表Vive的2个手柄,增加SteamVR_TrackedObject,Index设置为None
在Origin物体上添加SteamVR_ControllerManager,设置左右手柄
至此就完成了手柄的集成。



获取手柄状态
通过代码
var device = SteamVR_Controller.Input(uint);
device.GetTouchDown(SteamVR_Controller.ButtonMask)
就可以获取到某个按键的状态
或者使用
var system = OpenVR.System;
system.GetControllerState(uint, ref VRControllerState_t))
获取当前所有的按键状态
手柄震动
public void TriggerHapticPulse(ushort durationMicroSec = 500, EVRButtonId buttonId = EVRButtonId.k_EButton_SteamVR_Touchpad)
{
var system = OpenVR.System;
if (system != null)
{
var axisId = (uint)buttonId - (uint)EVRButtonId.k_EButton_Axis0;
system.TriggerHapticPulse(ControllerIndex, axisId, (char)durationMicroSec);
}
}
或者
var device = SteamVR_Controller.Input(uint);
device. TriggerHapticPulse();
SteamVR_RenderModel
该组件用于渲染手柄的模型,并且跟踪手柄的位置
使用方法
在左右手柄的物体下创建一个子物体,子物体上添加SteamVR_RenderModel脚本,Shader可以根据需求设置,比如设置为Standard

至此,游戏中可以看到手柄模型和手柄位置同步
SteamVR_PlayArea
用于显示游玩区域。
使用方法,在Origin物体上添加该脚本即可

可以看到游戏场景中多了一个显示区域

注意事项
制作UI的时候需要使用世界坐标,通过不同相机的Depth复合,目前还不支持(2016/5/23)
Unity5.4已经支持多相机复合(2016/8/21)
注意ControlIndex的值,默认情况下都会自动设置,如果手动设置错误将导致错误的表现
Unity SteamVR插件集成的更多相关文章
- HTC Vive开发笔记之SteamVR插件集成
重要组件 SteamVR_Camera VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面 使用方法: l 在任一个摄像机上增加脚本 l 点击Expand按钮 完成以上操 ...
- 开发unity DLL插件
最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...
- WCF技术剖析之七:如何实现WCF与EnterLib PIAB、Unity之间的集成
原文:WCF技术剖析之七:如何实现WCF与EnterLib PIAB.Unity之间的集成 在这之前,我写过深入介绍MS EnterLib PIAB的文章(参阅<MS Enterprise Li ...
- Padavan老毛子固件:17CE插件集成
Padavan老毛子固件:17CE插件集成 1.老毛子路由设置:系统管理-服务-启动SSH服务器 以下链接下载 "winscp" http://down.orsoon.co ...
- IDEA常用快捷键和常用插件集成,持续更新......
用习惯了eclipse,不容易转过来,记一下! 快捷键 psvm: main 方法快捷键 sout :syso快捷键 CTRL+O: 重写父类方法 Ctrl+Alt+V :自动补全返回值 Ctrl+S ...
- mydate97时间插件集成jquery插件
1.初始化JS: //把mydate97时间插件集成jquery插件 (function ($) { $.fn.mydatePicker = function (options) { return t ...
- (转)Unity Cinemachine插件,实现单目标和多目标之间切换
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...
- unity 常用插件 2
Advanced PlayerPrefs Window 用来管理 PlayerPrefs 数据,超好用 JsonDotNet JSON 的序列化/反序列化插件.这个插件是支持 iOS, Android ...
- unity常用插件
Unity3D常用插件,网址:http://jingyan.baidu.com/article/7f766daf4ef2844100e1d079.html ,想想自己也有小半年unity经验了,于是整 ...
随机推荐
- Python抓取第一网贷中国网贷理财每日收益率指数
链接:http://www.p2p001.com/licai/index/id/147.html 所需获取数据链接类似于:http://www.p2p001.com/licai/shownews/id ...
- Arduino入门学习
一直听到许多做物联网.智能家居的控制器使用的是Arduino,从师兄那里拿到了一块Arduino开发板,进行了一下午的学习,感觉这个适合小孩子们玩:) 废话少说,总结一下,便于以后可能会用得到.我主要 ...
- C语言 extern3 全局变量的使用
和函数的全局使用极其类似: 第一种方法,也是最简单的: 在 first.h 中定义, ; 在对应的first.c中使用: #include "first.h" #include & ...
- select中的文字垂直居中的问题
select文字在默认和边框高度增加时 是默认居中的.你要是不想居中的话可以用padding值调整.但是右侧的三角不会改变. select在高度减小时.字体是不会垂直居中的.无论你用什么他都不会垂直居 ...
- Spring DM所提供的Bundle监听接口OsgiBundleApplicationContextListener
通过使用Spring DM提供的监听接口,我们可以更好的对服务进行管控,其实该接口也非常简单就能使用上,只要自定义一个类实现OsgiBundleApplicationContextListener接口 ...
- Windows下composer的下载与配置
composer是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 下面记录一 ...
- 远程线程注入方法CreateRemoteThread
最近在整理学习Windows注入方面的知识,这个远程注入前面早写过,现在看看人家博客的理解整理,整理, 需要源码的可以到我的github上下载. 链接是 https://github.com/Ars ...
- libevent学习总结
1. 信息隐藏:看*-internal.h文件 如bufferevent_private结构体在bufferevent_async.c中使用时: static inline struct buffer ...
- 201521123014 java第一周总结
201521123014 java第一周总结 1.本周学习总结 刚认识这一门新语言,我就充满了好奇心,想看看Java和学过C语言,C++有什么区别.在这一周的学习中,我认识到,对于初学者而言,Java ...
- 杭电OJ2005——第几天
/*第几天?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...