VR 开发与 Unity 中任何实时 3D 开发共享常见的流程和设计注意事项。但是,区别因素包括
要开始 VR 开发,请使用 XR 插件管理系统安装并启用您要支持的设备的 XR 提供程序插件。有关更多信息,请参阅 XR 项目设置。
一个基本的 VR 场景场景包含游戏的环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上讲,您将游戏设计和构建成碎片。 更多信息
请参阅 词汇表应包含一个 XR 原点,它定义了跟踪数据的 3D 原点。此 游戏对象Unity 场景中的基本对象,可以表示角色、道具、布景、摄像机、路径点等。游戏对象的特性由附加到它的组件定义。 更多信息
请参阅 词汇表和组件的集合还包含主场景摄像机和表示用户控制器的游戏对象。有关设置基本 VR 场景的说明,请参阅 设置 XR 场景。
除了基础知识之外,您通常还需要一种方法让用户四处移动并与您创建的 3D 世界进行交互。 XR 交互工具包 提供了用于创建交互(如选择和抓取对象)的组件。它还提供了一个可自定义的运动系统。您可以使用 输入系统 作为 XR一个统称,涵盖虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用程序。支持这些形式的交互式应用程序的设备可以称为 XR 设备。 更多信息
请参阅 词汇表 交互工具包的补充或替代。
Unity 中用于 VR 开发的大多数功能和 API 都是通过包提供的。这些包包括
要在 Unity 中构建 VR 应用程序,请使用 XR 插件在 Unity 之外创建的一组代码,可在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。 更多信息
请参阅 词汇表管理系统添加并启用您要支持的设备的提供程序插件。有关说明,请参阅 XR 项目设置。
Unity 支持的 VR 提供程序插件包括
注意:许多头显制造商正在努力将 OpenXR 运行时用作标准。但是,此过程尚未完成,OpenXR 与头显制造商自己的提供程序插件或 SDK 之间可能存在功能差异。
XR 交互工具包 可以使开发 VR 应用程序变得更加轻松快捷。XR 交互工具包提供
XR 核心实用程序 包包含其他 Unity XR 插件和包使用的软件实用程序。通常,此包作为其他 XR 包的依赖项安装到您的项目中。
Unity 输入系统 包不仅支持访问 VR 控制器按钮和操纵杆的用户输入,还提供对 XR 跟踪数据和触觉的访问。如果您使用 XR 交互工具包 或 OpenXR 提供程序插件,则需要输入系统包。
手部跟踪是一项允许用户使用双手与 VR 应用程序进行交互的功能。手部跟踪受 XR Hands 包的支持。
Hands 包提供