VR 开发与 Unity 中的任何实时 3D 开发具有共同的工作流程和设计注意事项。但是,区分因素包括:
要开始 VR 开发,请使用 XR 插件管理系统为要支持的设备安装和启用 XR 提供程序插件。请参阅 XR 项目设置以了解更多信息。
基本 VR 场景应包含 XR 原点,该原点定义了跟踪数据的 3D 原点。游戏对象和组件的集合还包含主场景摄像机和表示用户控制器的游戏对象。请参阅设置 XR 场景以了解有关设置基本 VR 场景的说明。
除了基础知识外,通常还需要一种让用户随意走动并与创建的 3D 世界交互的方式。XR Interaction Toolkit 提供了用于创建交互(如选择和抓取对象)的组件。它还提供了一个可自定义的运动系统。除了__ XR__虚拟现实(VR)、增强现实(AR)和混合现实(MR)应用的泛指术语。支持这些形式的交互式应用程序的设备可被称为 XR 设备。更多信息
See in Glossary Interaction Toolkit 外,还可以使用 Input System。
Unity 中用于 VR 开发的大多数功能和 API 都是通过包提供的。这些包包括:
要在 Unity 中构建 VR 应用程序,请使用 XR 插件管理系统为要支持的设备添加和启用提供程序插件。请参阅 XR 项目设置以了解说明。
Unity 支持的 VR 提供程序插件包括:
注意:许多头盔制造商正在努力将 OpenXR 运行时用作标准。但是此流程尚未完成,OpenXR 与头盔制造商自己的提供程序插件或 SDK 之间可能存在功能差异
XR Interaction Toolkit 有助于更轻松、更快速地开发 VR 应用程序。XR Interaction Toolkit 提供:
XR Core Utilities 包包含其他 Unity XR 插件和包使用的软件实用程序。此包通常作为其他 XR 包的依赖项安装在项目中。
Unity Input System 包不仅支持从 VR 控制器按钮和游戏杆访问用户输入,而且还允许访问 XR 跟踪数据和触觉。如果使用 XR Interaction Toolkit 或 OpenXR 提供程序插件,则需要使用 Input System 包。
手部跟踪功能允许用户通过手与 VR 应用程序交互。手部跟踪由 XR Hands 包支持。
Hands 包提供: