HTC Vive SteamVR Plugin插件使用。
来源:互联网 发布:代练游戏商场源码 编辑:程序博客网 时间:2024/04/28 06:36
在资源商店中下载最新的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控制器功能开发。
- HTC Vive SteamVR Plugin插件使用。
- HTC VIVE开发笔记(一)使用SteamVR插件进行基本的交互
- UnityVR.06HTC Vive开发入门基础及SteamVR Plugin简介
- htc vive 中SteamVR Plugins入门之抓取物体、投掷
- HTC VIVE 插件SteamVR_Unity_Toolkit简介
- unity中使用htc vive
- HTC-VIVE手柄使用代码
- SteamVR插件详解:SteamVR_Controller脚本分析+Vive控制器功能开发
- 使用SteamVR Plugins插件为基础,来介绍Vive开发的入门,重点讲解设备的激活和控制接口
- steamVR Plugin
- 根据Steamvr sdk中拓展代码,构造Htc vive 手柄按钮事件结构
- unity开发HTC VIVE虚拟现实应用入坑笔记(一)——SteamVR入门
- unity开发HTC VIVE虚拟现实应用入坑笔记(二)——SteamVR之手柄事件
- HTC VIVE 开发笔记(三)利用SteamVR中的InteractionSystem实现场景中的瞬移及场景跳转
- 关于HTC VIVE的插件VRTK的功能
- Unity SteamVR插件详解一:SteamVR_Controller脚本分析+Vive控制器功能开发
- Unity SteamVR插件详解一:SteamVR_Controller脚本分析+Vive控制器功能开发
- SteamVR插件详解第二版:SteamVR_Controller脚本分析+Vive控制器功能开发
- Linux 管道、mmap文件映射
- android中按电源键锁屏然后解锁导致Activity调用onDestory以及如何防止锁屏 翻转屏幕也会触发的情况
- 数据挖掘经典算法--adaboost算法
- Spring中事务的配置与使用
- 小米MAX Root,第三方REC,XP框架刷入
- HTC Vive SteamVR Plugin插件使用。
- 使用iterator删除list,map中元素
- Linux下清屏
- STM32-HAL
- ES6这些就够了
- 在Tomcat 服务器中部署简单的Web程序
- 删除字符串中的非26字母字符
- SQL游标的实现
- 关于Jquery-easyUi的常用用法