开发

互动 SDK 入门指南

更新时间: 2026年4月22日
本教程将介绍如何使用互动 SDK 创建第一次互动。您需要将互动 SDK 装置添加到场景中、设置用户界面并添加互动,以便用户与用户界面互动。
Runtime Unity XR and the Project Setup Tool
如果必须使用 Unity XR 而非 Meta XR 核心 SDK,请参阅互动 SDK 和 Unity XR 入门指南

前提条件

继续学习本教程之前,请完成以下各节中概述的设置步骤:

步骤 1:添加装置

在互动 SDK 中,装置是预定义的 GameObjects 集合,可让您查看虚拟环境并发起操作,例如拿取、瞬移或戳一下。OVRInteractionComprehensive prefab 包含此装置。它整合了互动 SDK 提供的许多核心互动和功能,这些互动和功能根据最佳实践进行连接,包括对戳一下、射线、多种拿取类型和平移等操作的支持。此外,它还会为场景添加对手势、控制器和控制器驱动手势的支持。
此 prefab 必须作为现有 OVRCameraRig 的子项添加,后者负责处理相机系统和头部运动追踪。或者,您也可以使用 OVRCameraRigInteraction prefab,它将 OVRCameraRig 和 OVRInteractionComprehensive 捆绑在一起,以便进行拖放设置。
请参阅完整互动装置详细了解更多信息。
  1. 删除默认主相机(如果存在),因为互动 SDK 使用其自己的相机装置。
  2. 右击 Hierarchy(层级结构),再依次选择 Interaction SDK(互动 SDK)> Add OVR Interaction Rig(添加 OVR 互动装置)快速操作。
    Using the Interaction SDK Rig Wizard
  3. 如果您的场景中已有 OVRCameraRig,它会在向导中显示为已引用,如果没有,请点击 Fix All(修复全部),这样向导将创建一个相机装置。
    Fix All Button
  4. 如果场景中不需要平滑移动,请禁用 Smooth Locomotion(平滑移动)选项。否则,如果没有地面碰撞器,相机可能会在启动场景时无限掉落。
  5. 在 Unity 中,不能直接将装置 Prefab 的修改保存到包文件夹中,但是 Unity 2022+ 可对您要覆盖的 Prefab 创建副本。选择 Generate as Editable Copy(生成可编辑的副本)并设置 Prefab Path(Prefab 路径)以存储装置 prefab 的中间副本,这样您就可以根据需要存储尽可能多的覆盖。
  6. 如果想进一步自定义装置,请调整向导中的设置。有关可用选项的详细信息,请参阅 OVR 互动装置快速操作文档。
  7. 单击 Create(创建)以将 OVR 互动装置添加到场景。
    Components for the UnityXR Interaction Rig are added
  8. Hierarchy(层级结构)中,选择 OVRCameraRig
  9. Inspector(检查器)选项卡中,前往 OVR Manager(OVR 管理工具)> Quest Features(Quest 功能),然后找到 General(常规)选项卡,根据需要从 Hand Tracking Support(手势追踪支持)列表中选择 Controllers and Hands(控制器和手势)、Hands Only(仅限手势)或 Controllers only(仅限控制器)选项。“仅限手势”选项支持使用手势作为输入模态,无需借用任何控制器。

第 2 步:设置用户界面

  1. Project(项目)窗口中,前往 Packages(包)> Meta XR Interaction SDK Essentials(Meta XR 互动 SDK 基本功能)> Runtime > Sample(示例)> Objects(对象)> UISet > Prefabs > Backplate(背板)文件夹,并将 EmptyUIBackplateWithCanvas prefab 拖动到 Hierachy(层级结构)窗口中来为用户界面添加背板。
    Drag and drop the backplate prefab
    背板 prefab 包含画布、用户界面背景、一些基本布局组件以及光线和戳一下可互动组件,以便在用户界面中实现直接接触和光线投射互动。
    UI backplate prefab
  2. Hierarchy(层级结构)中,选择 CanvasRoot。在 Inspector(检查器)中的 Rect Transform(矩形变换)下,可以使用 Width(宽度)和 Height(高度)属性设置画布大小。在本示例中,我们使用以下设置将其缩放到适合几个组件的合理大小:
    • Rect Transform(矩形变换)> Width(宽度):500
    • Rect Transform(矩形变换)> Height(高度):250
  3. Hierarchy(层级结构)中,选择 UIBackplate。在 Inspector(检查器)中的 Rect Transform(矩形变换)下,设置 Width(宽度)和 Height(高度)属性,使其与先前步骤中设置的画布宽度和高度相匹配。在本示例中,我们使用以下设置以便与画布大小相匹配:
    • Rect Transform(矩形变换)> Width(宽度):500
    • Rect Transform(矩形变换)> Height(高度):250
  4. 在要与之互动的窗口中添加一些用户界面元素,方法是:在 Packages(包)> Meta XR Interaction SDK Essentials(Meta XR 互动 SDK 基本功能)> Runtime(运行时)> Sample(示例)> Objects(对象)> UISet > Prefabs 文件夹中拖放 prefab。例如,在 Buttons(按钮)> UnityUIButtonBased 文件夹中,将 PrimaryButton_IconAndLabel_UnityUIButton prefab 拖动到 Hierarchy(层级结构)中的 UIBackplate 对象。按钮元素将出现在用户界面上。添加创建用户界面所需元素。
    UI with elements

步骤 3:使用户界面可拿起

  1. 右键点击用户界面的 Canvas(画布)对象,然后选择 Interaction SDK(互动 SDK)> Add Grab Interaction(添加拿取互动)。“拿取”向导随即出现。
    The Grab Wizard
  2. 在“拿取”向导中,选择 Fix All(修复全部)来修复所有错误。这将添加缺失的组件或字段(如有需要)。
    The fix all option
  3. 如果您需要进一步自定义互动,可在向导中调整互动的设置。有关可用选项的详细信息,请参阅拿取快速操作文档。
  4. 选择 Create(创建)。向导会自动将必要的互动组件添加到 GameObject。如果尚未配备这些组件,它还会在相机装备上添加组件。
    The automatically added GameObjects for a grab interaction.
使用 Link 测试项目。
  1. 在您的电脑上打开 Link 桌面应用程序。
  2. 戴上头戴设备,并在提示时启用 Link。
  3. 在您的开发机器上,在 Unity 编辑器中选择 Play(播放)按钮。
  4. 您可以在头戴设备中使用光线投射与用户界面直接互动或进行远距离互动。可通过拿取用户界面来移动它。

通过生成 APK 测试互动

将您的项目构建为 .apk 文件以进行测试。
  1. 确保头戴设备已连接到您的开发机器。
  2. 在 Unity 编辑器中,选择 File(文件)> Build Profiles(构建配置文件)。
  3. 点击 Open Scene List(打开场景列表),打开 Scene List(场景列表)窗口。
  4. 通过从项目面板拖动或点击 Add Open Scenes(添加打开的场景),将您的场景添加到 Scene List(场景列表)。
  5. 点击 Build and Run(构建并运行),以生成一个 .apk 文件,并在您的头戴设备上运行该文件。在打开的文件资源管理器中,选择一个位置保存该 .apk 文件并为其命名。构建过程可能需要几分钟时间。
  6. 您可以在头戴设备中使用光线投射与用户界面直接互动或进行远距离互动。可通过拿取用户界面来移动它。

详细了解

继续学习

添加一些 GameObject,使它们可以与快速操作进行互动。