与VR虚拟现实 更多信息
查看 词汇表或传统的实时 3D 应用程序相比,增强现实 (AR) 涉及一套新的设计挑战。根据定义,增强现实应用程序将其内容叠加在用户周围的现实世界之上。要在现实世界中放置一个物体,您必须首先确定放置它的位置。例如,您可能希望将虚拟绘画放在物理墙壁上。如果您放置一个虚拟盆栽植物,您可能希望它放在物理桌子上或地板上。一个 AR 应用程序从用户的设备接收有关世界的信息,例如平面表面的位置、物体的检测、人员、面部等等;并且必须决定如何使用这些信息为用户创造良好的体验。
当您打开一个典型的 AR 场景场景包含游戏的环境和菜单。将每个独特的场景文件视为一个独特的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是设计和构建游戏的各个部分。 更多信息
查看 词汇表 在 Unity 中,您不会在场景或层次结构视图中找到许多 3D 对象3D 游戏对象,例如立方体、地形或布娃娃。 更多信息
查看 词汇表。相反,场景中的大多数 游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、航点等等。游戏对象的机能由附加到它的组件定义。 更多信息
查看 词汇表 定义了应用程序的设置和逻辑。3D 内容通常创建为 预制件一种资产类型,允许您存储一个完整的带有组件和属性的游戏对象。预制件充当模板,您可以从中在场景中创建新的对象实例。 更多信息
查看 词汇表,这些预制件在运行时添加到场景中以响应 AR 相关事件。
Unity 编辑器中的典型 AR 场景
一个基本的 AR 场景包含以下游戏对象和组件
如果您安装了 XR Interaction Toolkit,AR 应用程序的 XR 原点选项将更改为 XR 原点 (AR),它会添加游戏对象以表示手持控制器以及与场景中对象交互所需的工具包组件。
提示
除了这些会话游戏对象之外,您还需要每个类型的 AR 功能对应的 AR 管理器 组件,应用程序会使用这些功能。
有关如何设置任何 XR 场景的概述,请参阅 设置 XR 场景。
有关创建 AR 应用程序的更深入信息,请参阅 AR Foundation 包文档,包括 场景设置。
要在 Unity 中构建 AR 应用程序,您可以安装 AR Foundation 包以及您要支持的设备的 XR 提供程序 插件在 Unity 之外创建的一组代码,它在 Unity 中创建功能。您可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(平台特定的本机代码库)。 更多信息
查看 词汇表。要为 Apple Vision Pro 设备开发 AR/MR混合现实
查看 词汇表 应用程序,您还需要 PolySpatial visionOS 包。Unity 提供额外的包,包括 Unity Mars 和 XR Interaction Toolkit,以便更容易、更快速地开发 AR 体验。
Unity 支持的 AR 提供程序插件包括
使用 XR 插件管理系统添加并启用一个或多个这些插件。有关说明,请参阅 XR 项目设置。
注意:根据平台或设备,您可能需要与 OpenXR 一起安装其他包。例如,要为 HoloLens 2 构建 AR 应用程序,您必须安装 Microsoft 的 混合现实 OpenXR 插件。
AR Foundation 包支持 Unity 中的 AR 开发。
AR Foundation 使您能够使用 Unity 创建跨平台 AR 应用程序。在 AR Foundation 项目中,您可以通过将相应的管理器组件添加到场景中来选择要启用的 AR 功能。当您在 AR 设备上构建和运行应用程序时,AR Foundation 使用平台的本机 AR SDK 启用这些功能,因此您可以创建一次并部署到全球领先的 AR 平台。
设备可以具有 AR 功能,但不能支持所有可能的 AR 功能。可用功能取决于设备平台和特定设备的功能。例如,ARCore 是 Google 为 Android 推出的 AR 平台,目前不支持身体跟踪,因此在您为 Android 平台构建应用程序时无法使用身体跟踪。即使在同一个平台上,功能也可能因设备而异。例如,特定设备型号可能通过其面向世界的摄像头支持 AR,但不能通过其面向用户的摄像头支持。
有关 AR Foundation 的更多信息,请参阅 AR Foundation 包文档。
为 Apple Vision Pro 设备进行的增强和 混合现实混合现实 (MR) 将自己的虚拟环境与用户的现实世界环境相结合,并允许它们相互交互。
查看 词汇表 开发依赖于一组包,这些包在 visionOS 平台上实现了 Unity PolySpatial 架构。
PolySpatial 架构将 Unity 游戏或应用程序分成两个逻辑部分:模拟控制器和演示视图。模拟控制器驱动所有应用程序特定的逻辑,例如 MonoBehaviours 和其他脚本、UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
查看 词汇表 行为、资产管理、物理等等。几乎所有游戏的行为都是模拟的一部分。演示视图处理输入和输出,包括渲染到显示器和其他形式的输出,例如音频。视图将从操作系统接收的输入(包括捏合手势和头部位置)发送到模拟器,以便在每帧进行处理。在每个模拟步骤之后,视图通过渲染 像素计算机图像中最小的单位。像素大小取决于屏幕分辨率。像素灯光在每个屏幕像素处计算。 更多信息
查看 词汇表 到屏幕上、将音频缓冲区提交给系统等等来更新显示。
在 visionOS 平台上,模拟部分在 Unity Player 中运行,而演示视图由 Apple 的 RealityKit 渲染。对于模拟中的每个可见对象,RealityKit 场景图中都存在一个对应对象。
注意:PolySpatial 仅用于 Apple Vision Pro 上的增强和混合现实。 虚拟现实虚拟现实 (VR) 使用耳机和运动跟踪,将用户沉浸在逼真的图像和声音的人工 3D 世界中。 更多信息
查看 词汇表 和窗口化应用程序在 Unity Player 中运行,该播放器还控制渲染(使用 Apple Metal 图形 API)。
Unity Mars 提供专为创建 AR 应用程序而设计的创作工具和更好的工作流程。
Unity Mars 需要兼容的许可证。Unity Pro、Unity Enterprise 和 Unity Industrial Collection 计划包含 Mars。如果您有其他计划,也可以单独获得 Unity Mars 的许可证。有关更多信息,请参阅 Unity Mars。
The Unity XR Interaction Toolkit 提供用于构建 AR 和 VR 交互的工具。XR Interaction Toolkit 提供的 AR 功能包括