我正在尝试了解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
访问硬件。
答案 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:
使用:
渲染图像<强>的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中的选择/开始按钮启动它