SteamVR插件使用
SteamVR Plugin插件使用。
在资源商店中下载最新的steamVR插件(https://kharma.unity3d.com/en/#!/content/32647)导入项目中。
可能出现错误:
问题1
Failed to load IVRRenderModels interface version IVRRenderModels_005
目前解决方法
Steam官方论坛的中有讨论到这个问题,请仔细看。https://steamcommunity.com/app/358720/discussions/0/357286663674402763/
SteamVR Plugin脚本分析
Assets/Plugins/openvr_api.cs
这直接封装了steamvr SDK的支持。
是必须的脚本。它提供的所有功能steamvr暴露。不建议你做
更改此文件。应与相关的openvr_api DLL同步。
- Assets/SteamVR/Scripts/SteamVR.cs
系统的初始化和关闭。使用SteamVR.instance 访问。由于任何原因,如果初始化失败,则可能返回null。
Assets/ SteamVR / Scripts / SteamVR_Camera.cs VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面
为了对抗畸变校正引起的拉伸,以更高的分辨率渲染场景。 由于Unity中的所有相机都是顺序渲染的,所以在每个 眼睛相机之间共享一个静态渲染纹理。
SteamVR提供了一个特定的渲染目标大小,以减轻失真, 然而,渲染到更高的分辨率会在相关 费用下提供额外的多采样优势。这可以通过SteamVR_Camera.sceneResolutionScale控制。
注意:GUILayer和FlareLayer与SteamVR_Camera不兼容,因为它们在屏幕空间而不是世界空间中渲染。
这些将自动移动SteamVR_GameView对象,该对象本身将自动 添加到SteamVR_Camera的父'head'对象。AudioListener也被转移到头部,以便 音频被适当的空间化。
- Assets/ SteamVR / Scripts / SteamVR_Overlay.cs - 此组件用于协助在VR中呈现2D内容。
使用特殊的渲染路径将指定的texture合成到虚拟曲面上的场景中,以 提高保真度。
- Assets/ SteamVR / Scripts / SteamVR_TrackedObject.cs - 将其添加到要使用跟踪的任何对象。
该 HMD有一个设置为自动。对于控制器,选择要映射到的对象的索引。一般来说, 您应该将这些对象加载到相机的“origin”对象,以便它们在相同的空间中跟踪。但是,如果 不方便,您可以在TrackedObject本身中指定“origin”。
- Assets/ SteamVR /脚本/ SteamVR_RenderModel.cs -该组件用于渲染手柄的模型,并且跟踪手柄的位置。
- Assets/ SteamVR / Scripts / SteamVR_Utils.cs - 用于在Unity中使用SteamVR API的各种位,包括一个 简单的事件系统,用于处理向量/四元数对的RigidTransform类,矩阵转换和 其他有用的功能。
SteamVR_PlayArea
用于显示玩家可游玩区域。使用方法,在Origin物体上添加该脚本即可
SteamVR_ControllerManager和SteamVR_TrackedObject
控制器,主要用于设置和检测Vive控制器。
Vive控制器由菜单键(ApplicationMenu),触摸板(Touchpad),系统键/电源键(System),扳机键(Trigger),侧柄键(Grip),组成
使用方法:
在Origin物体上添加2个子物体代表Vive的2个手柄,增加SteamVR_TrackedObject,Index设置为None
在Origin物体上添加SteamVR_ControllerManager,设置左右手柄
在origin上再加一个子对象主相机作为head如图,加上steam vr_tracked object
SteamVR_Controller 控制器的相关信息
关于控制器的相关信息都包含在SteamVR_Controller这个脚本之中。注意:SteamVR_Controller是非Monobehavior的脚本,并没有挂在场景下,其运行是通过SteamVR_Render脚本对于其中Update()函数的调用从而一直循环获取手柄相关信息。
而SteamVR_Render脚本是在程序运行时自动加载至场景。
ButtonMask类:手柄各按键的名称。
Device类:最重要的类,封装了跟踪设备的全部信息。
Update()函数:被SteamVR_Render脚本调用,更新各跟踪设备的信息。
Input()函数:根据Index初始化Device[]数组,并实例化所有16个Device。
详细SteamVR_Controller类内容可以参考博客:Unity SteamVR插件详解一:SteamVR_Controller脚本分析+Vive控制器功能开发。
SteamVR插件使用相关推荐
- 新版SteamVR插件基础操作手册
文章目录 一.概述 二.动作管理(Actions) 三.更改按键设置 四.开始测试 五.总结 一.概述 目前随着市场上的VR设备越来越多,控制器的类型越来越趋向于碎片化.老版的SteamVR插件显然不 ...
- SteamVR 插件脚本详解
SteamVR各脚本的功能 SteamVR/Scripts/下脚本各功能的实现 1.SteamVR.cs 单例管理类,管理SteamVR程序的运行和终止. 2.SteamVR_Camera.cs 给场 ...
- 利用unity和steamVR完成场景漫游(二) 关于steamVR插件中的代码详解
1.SteamVR.cs 单例管理类,管理SteamVR程序的运行和终止. 2.SteamVR_Camera.cs 给场景添加一个最基本可运行的SteamVR组. 3.SteamVR_CameraFl ...
- steamVR插件的基本功能
本文转载自http://blog.csdn.net/tyuiof/article/details/52789283 从这一节起我开始介绍一些vive的交互实现方式,比如手柄发出的射线,凝视,瞬移等等. ...
- Unity SteamVR插件详解:SteamVR Controller脚本分析+Vive控制器功能开发 ——转自波波...
看到一篇很好的Steam VR脚本的详细解析文章,为了方便自己以后找得到,特意转载了. 大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件 ...
- SteamVR插件详解一:SteamVR_Controller脚本
大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件中和开发相关的功能.首先介绍的是Vive手柄控制器开发的介绍,基本包含了手柄功能开发的所 ...
- SteamVR插件简介
关于怎么安装VIVE就不说了,今天主要说一下Steam VR这个插件的用处. 首先,导入插件,可以从网上下载,也可以在Unity Store里下载,不花钱的. 导入以后,我们会发现有两个文件夹, ...
- steamvr unity 连接眼镜_Unity SteamVR插件集成
标签: 重要组件 SteamVR_Camera VR摄像机,主要功能是将Unity摄像机的画面进行变化,形成Vive中的成像画面 使用方法: l 在任一个摄像机上增加脚本 l 点击Expand按钮 完 ...
- unity使用steamVR插件导出游戏头显无反应问题
问题描述: 从SVN上checkout工程,本地编译打包debug显示缺失dll(勾选development),HTC头显没有任何反应. 解决方案: 工程版本低,一些设置可能会出现异常,排查后发现un ...
最新文章
- Linux下的版本升级只是浮云
- 原版豆瓣评分8.8,这本书讲透了 Rust 的灵魂
- pythonpandas设置索引_python – pandas:使用(row,col)索引设置值
- #035 大数阶乘 PTA题目6-10 阶乘计算升级版 (20 分)
- oracle的rank,over partition 使用 和lead
- 野火linux底板设计,野火STM32F767套件(底板+核心板)
- Android之提示java.lang.RuntimeException: Parcel: unable to marshal value Image问题
- STM32CubeMx配置H7时钟: Frequency searched for is out of range for this vos range
- ODrive踩坑(三)AS5047P磁编码器的ABI接口
- 能运行c语言的最便宜电脑配置,低配置电脑流畅运行Win7的技巧
- matlab db5是什么小波,3、代码 - matlab小波分析步骤是什么
- 毕业设计之外卖点餐系统(App及后台)
- 打造自己的视频会议系统 GGMeeting(附送源码)
- 使用Python对股票数据进行分析
- 世界上最复杂的函数_世界上最伟大的10个公式,其中一个人尽皆知
- 为什么很多Java程序员都转行做大数据了?
- springboot+vue宠物医院诊所管理系统源码
- matlab计算公式中的累加,Matlab系列教程之数值计算_求和(积)_求累加(积)
- 我们诚心诚意的给射手座挑选了两款礼物,希望还来得及丨钛空智慧星球
- 龙之谷显示黑龙攻击服务器,龙之谷黑龙巢穴多少w攻击可以打