
1.1 术语
许多技术、软件和设备构成了日益增长的VR生态系统。为了保证在同一水平上,我们先来看看这生态系统的几个关键部分,这些部分是任何Unreal Engine 4(UE4)VR开发者都应该知道的内容。如果已经熟悉VR产业的现状以及相关技术的读者,请自动跳过本章。
1.1.1 设备
在创建体验的时候,可以在大量的硬件设备中选择,无论其是一个VR Head Mounted Display(HMD)还是一个VR-ready控制器。Unreal Engine支持这些设备中的绝大多数,这减轻了开发人员在项目初始阶段选择正确设备的负担。UE4当然有很好的VR抽象层,所以决定改变目标设备(或者在管道的任何阶段适配多目标设备)是很容易的。
原生支持的HMD如表1-1所述。
表1-1 支持的VR HMD

在UE4中,运动控制器是通过一个运动控制器组件来支持的,它可以很容易地适配多控制器。UE4支持的运动控制器的相关细节见表1-2。
表1-2 支持的运动控制器

1.1.2 软件
有很多的SDK、库和API(应用程序编程接口)可以帮助连接VR硬件。UE4倾向于把这些抽象成单个的接口或者组件,以实现简单的互操作性;但是,如果需要,也可以手动使用那些SDK。对于开发人员来说,了解这些软件中不同的设计理念是很有用的,因为在开发游戏时可能需要使用SDK中的一些高级特性。手动使用这些SDK,不需要下载任何文件;在你下载引擎时UE4包含了它们。
这些原生支持的SDK如表1-3所述。
表1-3 支持的SDK


UE4除了使用SDK和库与大量VR硬件交互外,在引擎内其还实现了一些特别的软件功能用于增加VR的体验。此外,其还实现了大量的运行时软件功能(比如ATW),它们默认是开启的,方便开发者使用。在UE4中这两种类型的软件如表1-4所示。
注意 有很多特性会在第10章中进一步展开。
表1-4 支持的软件功能


1.1.3 Unreal Engine
制作游戏和体验需要许多不同的系统共同工作;幸运的是,UE4对这些系统有大量的工具。本书中使用的系统如表1-5所述。
表1-5 本书使用的Unreal Engine系统
