• 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插件使用相关推荐

  1. 新版SteamVR插件基础操作手册

    文章目录 一.概述 二.动作管理(Actions) 三.更改按键设置 四.开始测试 五.总结 一.概述 目前随着市场上的VR设备越来越多,控制器的类型越来越趋向于碎片化.老版的SteamVR插件显然不 ...

  2. SteamVR 插件脚本详解

    SteamVR各脚本的功能 SteamVR/Scripts/下脚本各功能的实现 1.SteamVR.cs 单例管理类,管理SteamVR程序的运行和终止. 2.SteamVR_Camera.cs 给场 ...

  3. 利用unity和steamVR完成场景漫游(二) 关于steamVR插件中的代码详解

    1.SteamVR.cs 单例管理类,管理SteamVR程序的运行和终止. 2.SteamVR_Camera.cs 给场景添加一个最基本可运行的SteamVR组. 3.SteamVR_CameraFl ...

  4. steamVR插件的基本功能

    本文转载自http://blog.csdn.net/tyuiof/article/details/52789283 从这一节起我开始介绍一些vive的交互实现方式,比如手柄发出的射线,凝视,瞬移等等. ...

  5. Unity SteamVR插件详解:SteamVR Controller脚本分析+Vive控制器功能开发 ——转自波波...

    看到一篇很好的Steam VR脚本的详细解析文章,为了方便自己以后找得到,特意转载了. 大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件 ...

  6. SteamVR插件详解一:SteamVR_Controller脚本

    大家都知道现在基于Unity开发Vive的应用程序都需要用到SteamVR这个插件,接下来的系列会重点分析该插件中和开发相关的功能.首先介绍的是Vive手柄控制器开发的介绍,基本包含了手柄功能开发的所 ...

  7. SteamVR插件简介

     关于怎么安装VIVE就不说了,今天主要说一下Steam VR这个插件的用处. 首先,导入插件,可以从网上下载,也可以在Unity Store里下载,不花钱的. 导入以后,我们会发现有两个文件夹, ...

  8. steamvr unity 连接眼镜_Unity SteamVR插件集成

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

  9. unity使用steamVR插件导出游戏头显无反应问题

    问题描述: 从SVN上checkout工程,本地编译打包debug显示缺失dll(勾选development),HTC头显没有任何反应. 解决方案: 工程版本低,一些设置可能会出现异常,排查后发现un ...

最新文章

  1. Linux下的版本升级只是浮云
  2. 原版豆瓣评分8.8,这本书讲透了 Rust 的灵魂
  3. pythonpandas设置索引_python – pandas:使用(row,col)索引设置值
  4. #035 大数阶乘 PTA题目6-10 阶乘计算升级版 (20 分)
  5. oracle的rank,over partition 使用 和lead
  6. 野火linux底板设计,野火STM32F767套件(底板+核心板)
  7. Android之提示java.lang.RuntimeException: Parcel: unable to marshal value Image问题
  8. STM32CubeMx配置H7时钟: Frequency searched for is out of range for this vos range
  9. ODrive踩坑(三)AS5047P磁编码器的ABI接口
  10. 能运行c语言的最便宜电脑配置,低配置电脑流畅运行Win7的技巧
  11. matlab db5是什么小波,3、代码 - matlab小波分析步骤是什么
  12. 毕业设计之外卖点餐系统(App及后台)
  13. 打造自己的视频会议系统 GGMeeting(附送源码)
  14. 使用Python对股票数据进行分析
  15. 世界上最复杂的函数_世界上最伟大的10个公式,其中一个人尽皆知
  16. 为什么很多Java程序员都转行做大数据了?
  17. springboot+vue宠物医院诊所管理系统源码
  18. matlab计算公式中的累加,Matlab系列教程之数值计算_求和(积)_求累加(积)
  19. 我们诚心诚意的给射手座挑选了两款礼物,希望还来得及丨钛空智慧星球
  20. 龙之谷显示黑龙攻击服务器,龙之谷黑龙巢穴多少w攻击可以打

热门文章

  1. 自动控制原理 - 3 线性系统的时域分析
  2. gis计算机技术发展,关于计算机技术的GIS技术发展探索
  3. Elasticsearch:无需基本身份验证即可创建用于访问的不记名令牌
  4. FFmpeg filter过滤器使用详解
  5. Serial收集器介绍
  6. 2021-5-5 buu刷题记录
  7. 仿煎蛋iOS项目的准备(0)
  8. ATFX国际:鲍威尔讲话撼动市场,美元指数逼近106关口
  9. python--nltk库预处理德语文本
  10. CCL MYCCL Multiccl定位的原理