在 XR一个涵盖虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用的总称。支持这些形式的交互式应用程序的设备可以称为 XR 设备。 更多信息
查看 词汇表 游戏或应用程序中处理输入的主要选项包括
在某些情况下,您可能同时使用多种选项。例如,您可以使用 XR Interaction Toolkit 允许用户拾取环境中的物体,使用输入系统将暂停功能绑定到控制器按钮,并使用 XR.Node API 读取硬件状态,以便您可以动画控制器 游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、路点等等。游戏对象的机能由附着在其上的组件定义。 更多信息
查看 词汇表.
注意:OpenXR 插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。在 Unity 中可以使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(平台特定的原生代码库)。 更多信息
查看 词汇表 支持许多不同的 XR 设备和控制器,它提供了自己额外的访问 XR 输入和跟踪数据的方式。您仍然可以使用 XR Interaction Toolkit、输入系统或 XR.InputDevice
和 XR.Node
API。(当您使用 OpenXR 插件时,不支持旧版输入管理器。)请参考 Unity OpenXR 中的输入 了解更多信息。
XR Interaction Toolkit 基于输入系统和基础 UnityEngine.XR
API 支持 XR 输入和交互。它提供了一套几乎可以立即使用的组件,用于处理 XR 输入并定义用户与环境和 场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您可以放置您的环境、障碍物和装饰,实质上是分段设计和构建您的游戏。 更多信息
查看 词汇表 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
查看 词汇表 之间的交互。
XR Interaction Toolkit 提供
您可以像访问任何 游戏控制器用于控制游戏中的物体和角色的设备。
查看 词汇表 一样访问 XR 控制器的控件,例如按钮和操纵杆。要访问跟踪数据,请在代码中使用 XR.InputTracking API。您还可以使用输入系统 TrackedPoseDriver 组件来使用跟踪设备(如 HMD 或控制器)控制游戏对象。TrackedPoseDriver 组件也可从旧版输入助手包中获得,如果您没有使用输入系统。
注意:当您使用 OpenXR 插件时,您必须使用输入系统。 输入管理器您可以定义项目的所有不同输入轴、按钮和控件的设置。 更多信息
查看 词汇表 不受支持。
XR 手部 包提供了对支持手部追踪的 XR 设备的手部追踪数据的访问。要访问此数据,您还必须使用已更新以支持手部追踪的 XR 提供程序插件,例如 OpenXR 1.12 版本.
XR 手部包提供以下内容
您在 visionOS 上的输入选项取决于您的应用程序是在窗口模式下运行, 混合现实混合现实 (MR) 将自己的虚拟环境与用户的真实世界环境相结合,并允许它们相互交互。
查看 词汇表 模式下,还是在 虚拟现实虚拟现实 (VR) 使用头显和运动跟踪,将用户沉浸在一个逼真的图像和声音的人工 3D 世界中。 更多信息
查看 词汇表 模式下。
在窗口模式下,用户的注视和捏合手势会被操作系统转换为触摸事件。您的应用程序无法访问原始输入数据。visionOS 最多报告两个触摸点。
在混合现实模式下,输入选项还取决于您的应用程序是在与其他应用程序共享的空间中运行,还是在沉浸式空间中运行。在共享空间中,情况类似于窗口应用程序;操作系统会将用户的注视和手部动作转换为触摸手势。在这种情况下,您可以使用 空间指针设备 来访问 3D 触摸数据,而不仅仅是 2D 数据。在沉浸式空间中,您还可以访问用户的注视手势开始时的 3D 射线原点和方向。此外,您可以访问 ARKit 数据,如头部和手部跟踪、平面检测、场景重建网格和图像跟踪。
在虚拟现实模式下,您可以访问 ARKit 数据,如头部和手部跟踪、平面检测、场景重建网格和图像跟踪。(您无法访问 空间指针设备 或其他 PolySpatial 特定组件。)
有关更多信息,请参考 PolySpatial visionOS:输入.
XR 输入 API 提供对 XR 输入的直接访问。该 API 允许您查找已连接的 XR 设备并读取它们的跟踪数据以及其输入硬件的状态。
有关 XR 输入 API 的更多信息,请参考 Unity XR 输入.
设备制造商和其他第三方通常会提供他们自己的输入和交互 API,您可以使用这些 API 来替代或补充 Unity 提供的 API。