Version: Unity 6.0 (6000.0)
语言 : 中文
Unity 中的 VR 开发
XR API 参考

XR 架构

Unity 通过其插件框架以及一组功能和工具包支持__ XR__虚拟现实(VR)、增强现实(AR)和混合现实(MR)应用的泛指术语。支持这些形式的交互式应用程序的设备可被称为 XR 设备。更多信息
See in Glossary
开发。转到项目设置 (Project Settings) 中的 XR Plug-in Management 类别可在 Unity 项目中启用 XR 支持,并为项目支持的 XR 平台选择插件。使用 Unity Package Manager 可安装其他功能包。

下图说明了当前的 Unity XR 插件框架结构,以及这个架构如何与平台提供程序实现方案配合使用:

Unity XR 插件框架结构

XR 子系统为 XR 功能定义一个公共接口。XR 插件实现了这些子系统接口,以在运行时向子系统提供数据。XR 应用程序可以通过 Unity 引擎和包 API 访问 XR 功能的数据。

XR 提供程序插件框架

XR 提供程序插件是支持一个或多个 XR 设备平台的 Unity 插件。例如,ARCore 插件支持手持 Android 设备上的 Android__ AR__即增强现实 (Augmented Reality, AR)。更多信息
See in Glossary
平台,而 OpenXR 插件支持多种操作系统上的多个 XR 设备。

XR 提供程序插件实现了 Unity XR SDK 定义的接口。这些接口称为子系统。实现一个或多个子系统的插件称为提供程序插件。通常,提供程序插件使用设备平台的原生库为其设备实现 Unity 接口。

Unity 使用子系统接口与各种平台的提供商进行通信,从而支持应用程序的 XR 功能。由于这些接口的存在,在应用程序中,对于具有特定功能提供程序的所有 XR 设备,您都可以复用相同的功能代码。

子系统

XR 子系统允许您访问 Unity 应用程序中的 XR 功能。Unity XR SDK 为子系统定义了一个通用接口,这样所有实现某一功能的提供程序插件,在您的应用程序中通常就能以相同的方式运行。通常,只要平台大致相似,就可以更改活动提供程序并重新构建应用程序以便在不同的 XR 平台上运行。

Unity 引擎定义了一组基本 XR 子系统。Unity 包可以提供其他子系统。例如,AR Subsystems 包中包含许多特定于 AR 的子系统接口。

Unity 引擎中定义的子系统包括:

子系统 描述
显示屏 立体 XR 显示。
输入 空间跟踪和控制器输入。
网格 从环境扫描生成 3D 网格。

注意:Unity 应用程序通常不会与子系统直接交互。相反,子系统提供的功能通过 XR 插件或包公开给应用程序。例如,AR Foundation 包中的 ARMeshManager 组件允许您将网格子系统创建的网格添加到场景中。

Unity 中的 VR 开发
XR API 参考