OpenVR,SteamVR和Unity3D如何协同工作?

时间:2017-06-04 04:04:42

标签: unity3d steam openvr

我正在尝试了解Vive的VR平台堆栈,以及它是如何开发的。 我很难理解openVR,steamVR和Unity的确切位置。

到目前为止,我的理解是:

openVR - Hardware independent layer providing APIs for peripheral access. 
         That is it can provide access to either Oculus or Vive hardware via 
         a defined interface.

SteamVR - Provides access to hardware to games developed either in unity or
          unreal.
Unity3D - A game engine to develop games.

如果有人能纠正我,我将非常感激。 或者,如果我的理解是正确的,那么为什么在unity 3D中开发的游戏不能直接通过openVR访问硬件。

1 个答案:

答案 0 :(得分:3)

OpenVR 是一个API和运行时,允许从多个供应商访问VR硬件,而无需应用程序具有他们所定位的硬件的特定知识(ref1), SteamVR 是我们用于实际使用和安装内容的客户名称(有关详细信息,请查看此视频:Using Unity at Valve

Also Check to see that can you use the Vive with OpenVR without Steam ??

让我们看看所有这些条款,感谢Reddit post

安装在头戴式显示器(HMD)上的游戏如何显示:

游戏渲染图像,将其发送给相应的运行时。然后运行时将其呈现给HMD:

使用:

渲染图像

[OVR / OpenVR] SDK - > [Oculus / SteamVR]运行时 - > [纵/万岁]

<强>的SDK

SDK用于构建游戏。游戏可以实现OVR或OpenVR或两者。这意味着游戏可以访问其相应的运行时中的本机功能。 SDK不处理异步时间扭曲或重新投影,它们由运行时处理!

OVR:由Oculus为Oculus Rift制作。当前版本(2016年5月14日)是1.3.1,可以访问Oculus运行时的所有功能。

由Valve制作的

OpenVR ,并通过SteamVR运行时支持Vive和Rift

SDK和Unity游戏的旁注: Unity 5.3目前在其原生模式下对VR进行了优化。本机模式支持Rift,Gear和PSVR,但不支持SteamVR。使用Unity 5.3编译的游戏可以将这些优化与Oculus SDK一起使用,而不是OpenVR SDK。 OpenVR SDK具有自己的优化功能,可能会也可能不会产生类似的性能。但是,即将推出的Unity 5.4本身将支持SteamVR,性能应该或多或少相同。请注意:这是Unity特定的,其他引擎可能对某些或所有耳机有相似或不同的优化。

<强>运行时 Oculus Runtime 负责异步时间扭曲并处理设备检测,显示等。它(运行时服务)需要运行Oculus Home才能启动

SteamVR运行时负责重投影并支持Rift和Vive

软件分发平台

需要运行

Oculus Home 才能使Rift正常运行。默认情况下,仅支持来自商店的应用程序(2d桌面客户端设置中的复选框以启用其他来源)。它下载游戏并运行它们。它还处理Xbox按钮上的通用菜单

Steam / SteamVR 技术上不需要在启动OpenVR游戏时运行,但强烈建议(从那里拉出房间设置和配置)。还可以在Xbox按钮上处理叠加菜单,或者在Rift上运行时,通过按Oculus Universal Menu中的选择/开始按钮启动它

Finally worth reading