Version: 6000.3
语言: 中文
创建 XR 项目
XR 输入选项

设置 XR 场景

要设置XR一个总称,包括虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息
请参阅术语表
场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
,添加 XR Origin

这些对象是游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
以及为将空间跟踪数据转换为场景(包括控制场景)提供参考系的组件相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表
. 将 XR Origin 添加到场景时,它会控制附加的相机以跟踪用户的头戴式 (VR) 或手持 (AR) 设备。此外,包含控制器游戏对象的 XR Origin 版本将移动它们以跟踪用户的控制器。

笔记

  • 较旧的 XR Rig 名称已从“rig”更改为“origin”,以更好地反映对象在 Unity 场景中的角色。此外,XR Origin 组件已替换 Camera Offset 组件,并提供了一些附加设置。有关更多信息,请参阅 XR Origin 组件
  • 如果您没有在项目中安装 XR Interaction Toolkit 包,则 Convert Camera to XR Rig 选项仍会显示在 GameObject > XR 菜单中。尽管此选项仍然有效,但 Unity 建议使用 XR Interaction Toolkit 或 AR Foundation 包中的相应 XR Origin 选项,以实现与其他 XR 功能的最佳兼容性。
  • AR增强现实
    更多信息 术语表
    会话来源
    已在 AR Foundation 包版本 5 中被 XR Origin (AR)XR Origin (Mobile AR) 选项所取代。
  • 某些 XR Origin 对象中包含的控制器游戏对象没有可视化组件使您能够轻松创建特定于 GUI 的功能的组件。更多信息
    请参阅术语表
    ,例如网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 表面必须转换为多边形。更多信息
    请参阅术语表
    ,并且未配置为接收跟踪数据以外的用户输入。您必须添加 3D 模型和组件或脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
    请参阅术语表
    如果需要,对用户输入进行作所必需的。XR 交互工具包提供了用于处理用户输入的组件。

有关场景中可用的XR Origin选项的说明,请参阅XR Origin

先决条件

在为 XR 设置场景之前,必须先:

  • XR 设置项目
  • 如果您正在开发 AR 应用程序,请将 AR Foundation 添加到项目中。
  • 如果计划使用 XR 交互工具包,请添加它(推荐)。
  • 如果使用 XR 交互工具包,请导入初学者资源。这些资产包含可用于配置XR控制器输入的输入系统作和预设。

为 XR 设置场景

为 XR 设置场景的基本步骤包括:

  1. 在 Unity 编辑器中创建或打开场景。
  2. 使用 XR 菜单的游戏对象>XR 原点选项之一添加到场景。你将在菜单中看到不同的选项,具体取决于你添加到项目中的XR包。有关可用XR Origin选项的说明,请参阅XR Origin
  3. 配置 XR 输入。有关更多信息,请参阅XR输入选项

项目可能有其他设置注意事项,具体取决于计划使用的项目类型、平台和 Unity 包:

检测XR是否已启用

如果你有一个可以在 XR 和非 XR 上下文中使用的场景,则可以使用 XRSettings.enabled 属性来检测 XR 子系统当前是否已加载和处于活动状态。使用该信息,您可以激活或停用相应的游戏对象和组件集。

public void CheckXRStatus()
{
    if (UnityEngine.XR.XRSettings.enabled)
    {
        Debug.Log("XR is active.");
    }
    else
    {
        Debug.Log("XR is not available.");
    }
}

注意:可以读取 XRSettings.enabled 属性的值来确定 XR 状态。但是,不再支持设置该值,并且不执行任何作。有关如何在运行时动态打开和关闭 XR 的信息,请参阅管理 XR 加载器生命周期

创建 XR 项目
XR 输入选项