创建一个 XR 场景
本文档介绍如何升级 XR Interaction Toolkit,然后创建一个包含 XR 摄像机、地面、手柄和射线的基础 XR 场景(如下图所示)。

第一步:添加 XR Interaction Toolkit
搭建基础 XR 场景需要用到 Unity 提供的基础功能和组件。其中,XR Interaction Toolkit 是 Unity 提供的高级工具包,包含许多跨平台的 XR 交互功能。
从上方菜单栏处,选择 Windows > Package Manager。
在 Package Manager 窗口中,点击 Packages > Unity Registry。
列表中将展示 Unity Registry 中提供的工具包。

再次前往 Windows > Package Manager > XR Interaction Toolkit。
展开右侧的 Samples 面板, 点击 Import,导入 Starter Assets、XR Device Simulater.

各个 Sample 文件的说明如下:
Sample 文件 说明 Starter Assets 该示例文件默认位于 Assets/Samples/XR Interaction Toolkit/[version]/Starter Assets 目录下,提供了一套示范配置文件,包括一套默认的输入动作和预设。 XR Device Simulator XR 设备模拟器,提供用于模拟 XR 头戴和手柄的资产,默认位于 Assets/Samples/XR Interaction Toolkit/[version]/XR Device Simulator 目录下。该示例文件允许通过鼠标和键盘输入来操控头戴和手柄。文件夹内包含与模拟器配套使用的示例 Binding,以及一个可以在场景中快速使用的预制体。
第二步:添加 XR 摄像机
新建项目后,Unity 已默认在项目中创建并打开了一个 SampleScene。该 SampleScene 中仅包含方向光(Directional Light)和一个普通摄像机(Main Camera)。
摄像机可以捕捉虚拟世界并将其在显示器上展示。通过自定义摄像机参数和操控摄像机,可以让应用呈现独一无二的画面。场景对摄像机数量没有限制。你可以自行设置各个相机的位置和渲染顺序,使其能够在屏幕上任意位置以任何顺序渲染整个场景,或仅渲染场景中的部分内容。
若想在头戴上正确显示 3D VR 画面,需为左右眼各添加一个普通摄像机。XR 摄像机是 XR Interaction Toolkit 中的一个默认组件,可以同时渲染左右眼画面并在头戴上呈现。此外,作为 XR 应用体验的基础,随着头戴和身体的移动,XR 摄像机能够实现 3DoF 或 6DoF 移动。
按以下步骤将场景中的普通摄像机替换为 XR 摄像机:
在 Hierarchy 窗口中,右击默认添加的 Main Camera,然后点击 Delete 将其删除。
点击 + > XR > XR Origin(Action-based),将 XR Origin 添加至场景。
XR Origin 物体包含以下元素:

元素 说明 XR Origin 主物体,负责挂载管理控制脚本。 Camera Offset 同步头戴 6Dof 数据,使摄像头和手柄能够在场景中移动。 Main Camera 主摄像机,负责捕捉和生成展示在显示器上的画面。 LeftHand Controller 左手柄节点。 RightHand Controller 右手柄节点。 选中 XR Origin。
Inspector 窗口中将显示 XR Origin 挂载的组件和脚本。
第三步:添加地面
在 Hierarchy 窗口中,点击 + > 3D Object > Plane。

一个白色默认平面被添加至场景。选中 Plane,Inspector 窗口中将显示 Plane 物体的属性。
在 Transform 组件处,进行以下操作:
a. 将 Position 属性设置为 (0, 0, 0)。一般已默认设置为该值。
b. 将 Scale 属性设置为 (10, 1, 10)。
场景中拥有了一个以世界坐标原点为中心,大小为 10x10 的地面。

第四步:配置手柄
除 XR 摄像机外,手柄也是 XR 应用的重要组成部分。用户可以通过手柄与虚拟世界进行互动,享受沉浸式 XR 体验。PANCAKE Unity SDK Sample中为开发者提供了默认的手柄模型,包括 Svr6dofControllerLeft 和 Svr6dofControllerRight。你可以将它们添加至应用中,并让它们随着真实手柄的移动而移动。
按以下步骤配置 PANCAKE 默认手柄模型:
在Window > Package Manager 中选择 Package:In Project > SXR Plugin(openxr) > Controller Assets,点击 import导入手柄模型。
在 Hierarchy 窗口中,展开 XR Origin > Camera Offset。
选中 LeftHand Controller。
在 Inspector 窗口中,点击 XR Controller (Action-Based) 面板右上角的 预设 图标,你将看到Select Preset窗口。双击添加 XRI Default Left Controller设置文件,导入默认左手柄设置。

在 XR Controller (Action-Based) 脚本区域找到 Model Prefab 设置项。
在 Project 窗口中,前往 Assets > Samples > SXR Plugin (openxr) > 1.0.0 > Controller Assets > assets,将Svr6dofControllerLeft拖至Model Prefab中。

按相同步骤配置 RightHand Controller。
由于 PANCAKE Unity SDK 使用了最新的 Unity 输入系统,所以需要添加 Input Action Manager 脚本来控制输入,步骤如下:
在 Hierarchy 窗口中,选中 XR Origin。
在 Input Action Manager 脚本区域,展开 Action Assets 列表,然后点击 +,添加 Element 0 配置项。
点击圆圈图标。你将看到 Select InputActionAsset 窗口。
至此,基础 XR 场景搭建完成。
后续操作
参考《打包并运行场景》文档,将 XR 场景打包为 APK 文件,然后在 PANCAKE 设备上运行。



