版本:Unity 6 (6000.0)
语言:英语
创建 XR 项目
XR 输入选项

设置 XR 场景

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

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

注释:

  • 较旧的 XR 框架名称已从“框架”更改为“原点”,以更好地反映该对象在 Unity 场景中的作用。此外,XR 原点组件已取代 摄像机偏移组件,并提供了一些其他设置。有关更多信息,请参阅 XR 原点组件
  • 如果您在项目中未安装 XR Interaction Toolkit 软件包,则将摄像机转换为 XR 框架选项仍会显示在 游戏对象 > XR 菜单中。尽管此选项仍然有效,但 Unity 建议使用 XR Interaction Toolkit 或 AR Foundation 软件包中相应的 XR 原点选项,以确保与其他 XR 功能的最佳兼容性。
  • 在 AR Foundation 软件包的版本 5 中,AR增强现实 更多信息
    参见 术语表
    会话原点
    已替换为 XR 原点 (AR)XR 原点 (移动 AR) 选项。
  • 某些 XR 原点对象随附的控制器游戏对象没有视觉组件一个组件,使您能够轻松创建特定于 GUI 的功能。更多信息
    参见 术语表
    ,例如网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。更多信息
    参见 术语表
    ,并且未配置为接收除跟踪数据之外的用户输入。如果需要,您必须添加 3D 模型以及处理用户输入所需的组件或脚本一段代码,允许您创建自己的组件、触发游戏事件、随着时间的推移修改组件属性并以任何您喜欢的方式响应用户输入。更多信息
    参见 术语表
    XR Interaction Toolkit 软件包提供用于处理用户输入的组件。

有关可在场景中使用的 XR 原点选项的说明,请参阅 XR 原点

先决条件

在您可以为 XR 设置场景之前,您必须首先

  • 为 XR 设置项目.
  • 如果您正在开发 AR 应用程序,请将 AR Foundation 添加到项目中。
  • 如果您计划使用 XR Interaction Toolkit 软件包,请添加它(推荐)。
  • 如果您使用 XR Interaction Toolkit,请导入 启动资源。这些资源包含您可以用来配置 XR 控制器输入的输入系统操作和预设。

为 XR 设置场景

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

  1. 在 Unity 编辑器中创建或打开场景。
  2. 使用 游戏对象 > XR 菜单将其中一个 XR 原点选项添加到场景中。根据您已添加到项目的 XR 软件包,您将在菜单中看到不同的选项。有关可用 XR 原点选项的说明,请参阅 XR 原点
  3. 配置 XR 输入。有关更多信息,请参阅 XR 输入选项

根据项目类型、平台以及您计划使用的 Unity 软件包,您的项目可能需要其他设置注意事项

  • 对于 AR 项目,请参阅 AR Foundation 手册中的 场景设置,以获取其他设置步骤和更详细的说明。

  • 对于使用 XR Interaction Toolkit 的VR虚拟现实 更多信息
    参见 术语表
    项目,请参阅 Interaction Toolkit 手册中的 常规设置,以获取其他信息。

  • 对于 Apple Vision Pro 上的 AR/MR混合现实
    参见 术语表
    项目,请使用 体积摄像机 而不是 XR 原点。请参阅 PolySpatial visionOS:启动新的 visionOS 项目

  • 对于 Apple Vision Pro 上的 VR 项目,您必须从 AR Foundation 软件包中将 AR 会话 对象添加到场景中,以访问头部和手部跟踪数据。此设备上的 VR 应用程序还可以访问其他 ARKit 数据,例如平面检测、场景重建网格和图像跟踪。请参阅 visionOS 上的完全沉浸式 VR

检测是否启用了 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 输入选项