Version: Unity 6.0 (6000.0)
语言 : 中文
设置 XR 场景
XR 原点

XR 输入选项

处理__ XR__虚拟现实(VR)、增强现实(AR)和混合现实(MR)应用的泛指术语。支持这些形式的交互式应用程序的设备可被称为 XR 设备。更多信息
See in Glossary
游戏或应用程序中输入的主要选项包括:

  • XR Interaction Toolkit
  • OpenXR 交互配置文件
  • 通过 Input System 或 Input Manager 进行“传统”输入
  • XR.InputDevice 和 XR.Node API
  • 第三方输入库

在某些情况下,可以同时使用多个选项。例如,可以使用 XR Interaction Toolkit 让用户拾取环境中的对象,使用 Input System 将暂停函数绑定到控制器按钮上,并使用 XR.Node API 读取硬件状态,从而对控制器游戏对象进行动画化处理。

注意:OpenXR 插件支持许多不同的 XR 设备和控制器,提供了自己的其他方法来访问 XR 输入和跟踪数据。您仍然可以使用 XR Interaction Toolkit、Input System 或 XR.InputDeviceXR.Node API。(使用 OpenXR 插件时不支持旧版 Input Manager。)请参阅 Unity OpenXR 中的输入以了解更多信息。

XR Interaction Toolkit

XR Interaction Toolkit 基于 Input System 和基础 UnityEngine.XR API 来支持 XR 输入和交互。它提供了一组几乎现成的组件来处理 XR 输入并定义用户与环境以及场景__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary
之间的交互。

XR Interaction Toolkit 提供:

  • Interactors:场景中让用户与场景游戏对象交互的对象。通常由 XR 控制器或用户双手驱动。
  • Interactables:场景中用户可以交互的对象(使用交互器)。
  • UI interaction:支持与 Unity 内置 UI 元素的交互。
  • Locomotion:支持各种运动模式,包括连续运动、瞬间移动和爬坡。

Input System 或 Input Manager

可以像访问任何游戏控制器一样访问 XR 控制器的控件,例如按钮和游戏杆。要访问跟踪数据,请在代码中使用 XR.InputTracking API。还可以使用 Input System TrackedPoseDriver 组件来控制具有跟踪设备(例如 HMD 或控制器)的游戏对象。如果未使用 Input System,则 TrackedPoseDriver 组件也可从旧版 Input Helpers 包中获得。

注意:使用 OpenXR 插件时,必须使用 Input System。不支持 Input Manager。

XR Hand 跟踪输入

XR Hands 包允许从支持它的 XR 设备访问手部跟踪数据。要访问这些数据,还必须使用更新后能够支持手部跟踪的 XR 提供程序插件,例如 OpenXR 1.12 版

XR Hands 包提供以下功能:

  • 可使 XR 设备将手部数据发送到 Unity 应用程序上的 XRHandTrackingSubsystem
  • Unity 应用程序可用于访问数据的 hand tracking API
  • 支持 OpenXR Meta Aim Hand 功能扩展机制,该机制提供一个手势瞄准系统以及用于手部跟踪数据的 OpenXR 输入绑定。

visionOS 输入

在 visionOS 上的输入选项取决于应用程序是在窗口模式、混合现实模式还是虚拟现实模式下运行。

在窗口模式下,用户的注视和捏合手势将由操作系统转换为触摸事件。应用程序无法访问原始输入数据。visionOS 报告最多两个接触点。

在混合现实模式下,输入选项还取决于应用程序是在与其他应用程序的共享空间中运行还是在沉浸式空间中运行。在共享空间中,情况类似于带窗口的应用程序;操作系统将用户的注视和手部移动转换为触摸手势。在这种情况下,可以使用 Spatial Pointer Device 访问 3D 触摸数据,而不仅仅是 2D。在沉浸式空间中,还可以在手势开始时访问 3D 光线原点和用户注视的方向。此外,还可以访问 ARKit 数据,例如头部和手部跟踪、平面检测、场景重建网格和图像跟踪。

在虚拟现实模式下,可以访问 ARKit 数据,例如头部和手部跟踪、平面检测、场景重建网格和图像跟踪。(您无权访问 Spatial Pointer Device 或其他 PolySpatial 特定组件。)

有关更多信息,请参阅 PolySpatial visionOS:输入

XR 输入 API

XR 输入 API 提供对 XR 输入的直接访问权限。API 可用于查找连接的 XR 设备并读取其跟踪数据及其输入硬件的状态。

请参阅 Unity XR 输入以了解有关 XR 输入 API 的更多信息。

第三方输入 API

设备制造商和其他第三方通常会提供自己的输入和交互 API,您可以使用这些 API 代替 Unity 提供的 API 或作为它们的补充。

设置 XR 场景
XR 原点