第 10 课
实现手部交互功能(上)
本课将建立手部交互的共同基础。你会先读懂真实手部动作进入 Unity 交互系统的数据链路,再安装 XR Hands、修复虚拟手材质、认识戳按与捏合等交互器,最后把支持手部和手柄切换的新玩家装置加入主场景。
让双手成为虚拟博物馆的交互工具
完成手部交互所需的软件包、虚拟手模型和玩家装置设置,为下一课在 PICO 设备中启用真实手部跟踪做好准备。
学完你将能够
学习目标
- 解释 PICO 手部跟踪、OpenXR、XR Hands 和 XR Interaction Toolkit 的职责区别。
- 安装与当前项目相匹配的 XR Hands,并导入 HandVisualizer 示例。
- 根据紫色模型判断材质问题,将 Standard 材质转换为 URP Lit。
- 区分戳按、近距离捏合和远距离射线三种手部交互方式。
- 说明输入方式管理器如何在虚拟手与手柄之间自动切换。
- 安全替换原有 XR Origin,保留移动、传送、抓取和画面效果。
开始操作前
准备工作
- 打开 MainScene,确认原有 XR Origin 能够正常完成移动、转身、传送和文物抓取。
- 确认项目已安装 OpenXR Plugin 和 XR Interaction Toolkit 3.1.2,并已导入 Starter Assets。
- 确认项目使用 Universal Render Pipeline,简称 URP,即“通用渲染管线”。
- 保存当前场景,并记录原有 XR Origin 的位置、旋转和重要设置,便于替换后逐项对照。
本课学习路线
按照学习模块逐步完成
每个模块都包含理解、跟随操作和独立实践。先分清谁负责看见手,谁负责产生交互
读懂手部交互的数据链路
真实手部不会直接控制场景物体。设备先取得手腕、手掌和手指关节的位置,再经过统一接口交给虚拟手模型与交互工具。手部跟踪与手部交互不是一回事
手部跟踪负责判断真实手部各个关节在哪里、朝向哪里;手部交互则利用这些数据完成戳按按钮、捏合选择、直接抓取和远距离射线操作。
XR Hands 是 Unity 提供的手部关节数据接口。它不通过摄像头识别真实手部,也不代替 PICO 的底层跟踪能力,而是把设备提供的数据整理成 Unity 可以统一读取的格式。
- PICO 设备与运行环境负责取得真实手部动作。
- OpenXR 提供程序负责把设备能力接入项目。
- XR Hands 负责提供统一的手腕、手掌和手指关节数据。
- XR Interaction Toolkit 负责把数据变成悬停、戳按、捏合、抓取和射线交互。
手部动作进入场景的完整顺序
沿着表格从上到下阅读,注意每一层只承担自己的职责。
左右滑动表格,可查看完整内容
| 顺序 | 参与者 | 主要职责 | 交给下一层的内容 |
|---|---|---|---|
| 1 | 真实手部与 PICO 摄像头 | 观察手掌和手指动作 | 设备能够识别的跟踪结果 |
| 2 | PICO 运行环境与 OpenXR 提供程序 | 把设备能力接入 Unity | 符合 OpenXR 接口的数据 |
| 3 | XR Hands | 统一左右手和各关节的姿态 | 可供模型与交互工具读取的关节数据 |
| 4 | 虚拟手模型 | 根据关节数据更新骨骼 | 与真实手动作一致的可见双手 |
| 5 | XR Interaction Toolkit | 判断悬停、选择、戳按、捏合与抓取 | 对界面和三维物体的操作结果 |
四个关键工具的职责边界
出现问题时,先判断故障位于哪一层,排查会更有方向。
左右滑动表格,可查看完整内容
| 工具或系统 | 负责什么 | 不负责什么 |
|---|---|---|
| PICO 手部跟踪 | 识别真实手部并生成跟踪结果 | 不决定博物馆中的抓取规则 |
| OpenXR 提供程序 | 连接设备能力与 Unity | 不绘制虚拟手模型 |
| XR Hands | 整理并提供统一关节数据 | 不执行底层图像识别 |
| XR Interaction Toolkit | 把输入变成可用的交互状态 | 不产生原始手部跟踪数据 |
用自己的话复述数据链路
从“我抬起右手”开始,依次说明动作怎样到达虚拟博物馆中的按钮或文物。
- 至少说出 PICO 跟踪、OpenXR、XR Hands 和交互工具四层。
- 明确指出 XR Hands 提供的是关节数据,不是摄像头识别算法。
- 能够解释为什么只安装 XR Hands 还不能立即在设备中使用真实双手。
使用与当前项目相匹配的软件包
安装 XR Hands 并导入虚拟手
软件包之间存在依赖关系。当前项目采用 XR Interaction Toolkit 3.1.2 与 XR Hands 1.5.1 的配合,不要在加入手部功能时同时升级多个相关软件包。版本选择要看兼容关系
包管理器首页显示的版本不一定就是当前项目应该使用的版本。选择时要同时考虑 Unity 编辑器、OpenXR Plugin、XR Interaction Toolkit、示例依赖和 PICO 设备支持情况。
版本名称中带有 pre、preview 或 beta,通常表示预览或测试阶段。学习项目优先使用已经与现有环境配合确认过的稳定版本,避免接口变化和示例引用错误。
从包管理器找到 XR Hands
- 01
打开 Window → Package Manager,也就是“窗口 → 包管理器”。
- 02
把左上角的软件包来源切换为 Unity Registry,也就是“Unity 软件包注册表”。
- 03
搜索并选中 XR Hands,查看说明、依赖和版本记录。
- 04
确认当前项目的 XR Interaction Toolkit 版本为 3.1.2。
按名称添加 XR Hands 1.5.1
- 01
在 XR Hands 的版本记录中找到 1.5.1。
- 02
点击 Add version 1.5.1 by name。
- 03
浏览器询问是否打开 Unity Editor 时,选择 Open Unity Editor。
- 04
回到包管理器,确认软件包名称为 com.unity.xr.hands、版本为 1.5.1。
- 05
点击 Add,并等待软件包显示为已安装。

观察两个位置:页面中的“Add version 1.5.1 by name”用于传递准确版本,弹窗中的“Open Unity Editor”用于回到 Unity 完成安装。
点击图片可以查看完整截图安装前后的确认项目
不要只看到安装按钮消失就继续操作,先确认名称、版本和依赖都正确。
左右滑动表格,可查看完整内容
| 确认项 | 当前项目应看到的内容 | 不符合时怎么做 |
|---|---|---|
| 软件包名称 | com.unity.xr.hands | 返回按名称添加界面重新输入 |
| XR Hands 版本 | 1.5.1 | 不要误用首页显示的其他版本 |
| XR Interaction Toolkit | 3.1.2 | 先核对已有项目版本,不要连续升级 |
| 安装状态 | 已安装且没有依赖错误 | 查看项目检查窗口中的明确提示 |
导入 HandVisualizer
- 01
在包管理器中继续选中 XR Hands 1.5.1。
- 02
切换到 Samples,也就是“示例”标签。
- 03
找到 HandVisualizer,它用于把关节数据显示为虚拟手。
- 04
点击右侧 Import,等待资源复制到项目的 Assets 目录。

只导入本课需要的 HandVisualizer。它提供虚拟手模型、预制体、材质和驱动程序。
点击图片可以查看完整截图
导入完成后,沿 Samples → XR Hands → 1.5.1 → HandVisualizer 展开,确认目录中包含材质、模型、预制体、程序和示例场景。
点击图片可以查看完整截图HandVisualizer 目录中包含什么
先知道每类资源的用途,后面定位模型和材质会更快。
左右滑动表格,可查看完整内容
| 文件夹或资源 | 用途 |
|---|---|
| Materials | 保存虚拟手使用的材质 |
| Models | 保存左右手网格和骨骼模型 |
| Prefabs | 保存已经配置的左右手跟踪预制体 |
| Scripts | 根据关节数据更新虚拟手骨骼 |
| HandVisualizer 场景 | 观察虚拟手模型和跟踪数据 |
| README | 查看示例的使用说明 |
完成软件包和示例准备
独立完成安装与导入,并根据项目窗口中的实际内容确认结果。
- XR Hands 显示为 1.5.1 且没有依赖错误。
- Samples 目录中出现 XR Hands → 1.5.1 → HandVisualizer。
- 能够找到 HandVisualizer 场景、左右手预制体和 HandsDefaultMaterial。
- 保存项目,等待 Unity 完成程序编译后再继续。
把内置渲染材质转换为 URP 材质
修复紫色的虚拟手材质
打开 HandVisualizer 后,如果双手呈现亮紫色,先不要更换模型。亮紫色通常是在提示材质丢失或着色器与当前渲染管线不兼容。为什么模型会变成紫色
Shader 可以翻译为“着色器”,它决定模型表面怎样被绘制。HandVisualizer 的 HandsDefaultMaterial 使用 Standard 着色器,它属于 Unity 内置渲染管线。
本项目使用 URP,也就是通用渲染管线。Standard 与 URP 不能直接配合,因此 Unity 无法正确绘制时会用醒目的紫色提示问题。
定位问题时先看这些信息
紫色只是现象,材质引用和着色器名称才是判断依据。
左右滑动表格,可查看完整内容
| 观察位置 | 需要确认的内容 | 本课应看到的状态 |
|---|---|---|
| 手部网格对象 | 是否由 Skinned Mesh Renderer 显示 | 左右手使用蒙皮网格渲染器 |
| Materials 列表 | 实际引用的材质 | HandsDefaultMaterial |
| 材质的 Shader | 当前绘制程序 | 转换前为 Standard |
| 项目渲染管线 | 材质需要兼容的目标 | URP |
从虚拟手定位 HandsDefaultMaterial
- 01
打开 HandVisualizer 示例场景。
- 02
在层级窗口展开左手或右手跟踪对象。
- 03
选中真正包含手部网格的子对象。
- 04
在 Skinned Mesh Renderer,也就是“蒙皮网格渲染器”中展开 Materials。
- 05
点击 Element 0 引用的 HandsDefaultMaterial。
- 06
确认材质下方的 Shader 当前显示为 Standard。
把选中材质转换为 URP
- 01
在项目窗口确认当前选中的是 HandsDefaultMaterial。
- 02
打开 Edit → Rendering → Materials。
- 03
选择 Convert Selected Built-in Materials to URP。
- 04
在提示窗口中确认只转换当前选中材质。
- 05
等待转换完成,确认 Shader 变为 Universal Render Pipeline/Lit。

先在项目窗口选中 HandsDefaultMaterial,再沿 Edit → Rendering → Materials 打开转换命令。画面中的紫色双手正是转换前的异常表现。
点击图片可以查看完整截图
转换成功后,左右手恢复正常材质颜色,不再呈现紫色。这里观察的是材质兼容结果,不代表真实手部跟踪已经启用。
点击图片可以查看完整截图材质转换前后对照
同时观察属性和场景结果,避免只根据颜色猜测是否成功。
左右滑动表格,可查看完整内容
| 观察项 | 转换前 | 转换后 |
|---|---|---|
| Shader | Standard | Universal Render Pipeline/Lit |
| 双手颜色 | 亮紫色 | 正常材质颜色 |
| 左右手结果 | 共用材质时同时异常 | 共用材质时同时恢复 |
| 相关提示 | 可能出现着色器警告 | 相应警告应当消失 |
如果菜单位置与画面不同
不同 Unity 与 URP 版本的菜单可能略有变化。找不到相同命令时,可以打开 Window → Rendering → Render Pipeline Converter,选择从内置渲染管线转换到 URP。
也可以手动把材质 Shader 改为 Universal Render Pipeline/Lit,但转换工具通常能更完整地迁移常用材质属性。
修复并检查左右手
从手部网格出发定位实际材质,再完成一次范围明确的转换。
- 确认选中的是手部正在使用的 HandsDefaultMaterial。
- 确认转换前 Shader 为 Standard。
- 只转换选中的手部材质。
- 确认转换后 Shader 为 URP Lit,左右手都恢复正常颜色。
- 如果只修复一只手,分别检查左右手是否引用了不同材质。
认识虚拟手怎样操作界面和三维物体
导入并读懂手部交互装置
HandVisualizer 主要解决“把手显示出来”,Hands Interaction Demo 则提供已经组织好的戳按、捏合、抓取、射线和手柄切换结构。两个示例分别解决什么问题
本课同时使用两个示例,但它们提供的能力不同。
左右滑动表格,可查看完整内容
| 示例 | 主要用途 | 本课使用的内容 |
|---|---|---|
| HandVisualizer | 把关节数据显示为可见的虚拟手 | 手部模型、材质和可视化程序 |
| Hands Interaction Demo | 让虚拟手能够操作界面和三维物体 | XR Origin Hands 与完整交互器层级 |
导入 Hands Interaction Demo
- 01
打开 Package Manager,选中 XR Interaction Toolkit 3.1.2。
- 02
切换到 Samples,也就是“示例”标签。
- 03
找到 Hands Interaction Demo。
- 04
确认 Starter Assets、XR Hands 和 Shader Graph 已经存在。
- 05
点击 Import,等待示例复制到项目中。
- 06
在 Samples → XR Interaction Toolkit → 3.1.2 → Hands Interaction Demo 中找到 HandsDemoScene。

观察 Hands Interaction Demo 下方的依赖列表。依赖准备完整后再导入,可以减少示例中的引用错误。
点击图片可以查看完整截图示例中常见的五种交互
先把动作、交互器和适用对象对应起来,再观察预制体层级。
左右滑动表格,可查看完整内容
| 交互方式 | 使用动作 | 适合对象 |
|---|---|---|
| Poke 戳按 | 用食指向前戳 | 近距离按钮和界面 |
| Direct Pinch 近距离捏合 | 拇指和食指在物体附近捏合 | 近距离抓取三维物体 |
| Ray and Pinch 射线加捏合 | 指向远处并捏合 | 远距离界面和对象 |
| 双手操作 | 两只手同时捏合 | 缩放、旋转或移动对象 |
| Socket 吸附 | 把对象带到归位点附近 | 精确放回固定位置 |
XR Origin Hands 中有哪些对象
XR Origin 可以理解为“玩家空间根对象”。Hands Interaction Demo 提供的 XR Origin Hands 同时包含头戴视角、左右手柄、左右虚拟手、移动系统和输入方式管理器。
每只手下还有三类重要交互器:Poke Interactor 负责食指戳按,Direct Interactor 负责近距离捏合与抓取,Ray Interactor 负责远距离射线操作。
XR Origin Hands 的关键层级
展开预制体时,按功能寻找对象,不必一次记住所有子节点。
左右滑动表格,可查看完整内容
| 对象 | 中文理解 | 主要作用 |
|---|---|---|
| Main Camera | 主摄像机 | 显示头戴设备视角 |
| Left / Right Controller | 左右手柄 | 保留手柄输入与交互 |
| Left / Right Hand | 左右虚拟手 | 承载手部交互器 |
| Poke Interactor | 戳按交互器 | 用食指操作近距离界面 |
| Direct Interactor | 直接交互器 | 近距离捏合和抓取 |
| Ray Interactor | 射线交互器 | 操作远距离界面和物体 |
| Locomotion | 移动系统 | 负责移动、转身与传送 |
| XR Input Modality Manager | XR 输入方式管理器 | 在虚拟手与手柄之间自动切换 |
输入方式管理器怎样切换对象
它管理的不只是模型显示,还包括整组交互器的启用状态。
左右滑动表格,可查看完整内容
| 当前状态 | 启用 | 停用 | 目的 |
|---|---|---|---|
| 系统正在跟踪双手 | Left Hand、Right Hand | 左右手柄交互对象 | 让虚拟手获得交互控制权 |
| 使用者拿起并唤醒手柄 | 左右手柄交互对象 | Left Hand、Right Hand | 恢复熟悉的手柄操作 |
| 尚未取得有效跟踪 | 等待有效输入 | 无效的交互对象 | 避免出现错误射线和悬停 |
为什么不能让两套交互器始终同时工作
如果虚拟手和手柄交互器始终同时启用,同一物体可能被多条射线或多个交互器竞争,悬停状态也可能不断切换。
输入方式管理器会根据当前跟踪状态启用一组、停用另一组,让画面提示和实际操作方式保持一致。
在示例场景中找到关键对象
打开 HandsDemoScene,展开 XR Origin Hands,并把层级对象与刚才的交互方式对应起来。
- 找到左右手和左右手柄对象。
- 分别找到 Poke、Direct 和 Ray Interactor。
- 找到 XR Input Modality Manager,并观察它引用了哪些手部和手柄对象。
- 能够说出戳按、近距离捏合和射线分别适合什么任务。
加入手部能力,同时保留已有项目功能
替换玩家装置并恢复场景设置
新 XR Origin Hands 增加了手部层级,但不会自动继承旧玩家装置的位置、跟踪高度、摄像机画面和项目特有设置。替换时要逐项迁移,而不是直接删除旧对象。替换前需要记录的设置
先对照旧对象记录这些内容,能够避免替换后视角、移动或画面突然变化。
左右滑动表格,可查看完整内容
| 设置 | 为什么要记录 |
|---|---|
| Transform 位置与旋转 | 决定体验者从哪里进入博物馆 |
| Tracking Origin Mode | 决定头戴设备使用的高度基准 |
| Camera Y Offset | 在 Device 模式下影响视角高度 |
| Main Camera 裁剪面 | 影响近处和远处物体是否显示 |
| Post Processing | 影响亮度、色彩和画面风格 |
| 移动、转身和传送设置 | 决定场景漫游方式 |
| 交互层与输入动作 | 决定手柄能够操作哪些对象 |
| 自定义子对象 | 防止遗漏当前项目独有功能 |
把 XR Origin Hands 加入 MainScene
- 01
从 Hands Interaction Demo 的 Prefabs 文件夹找到 XR Origin Hands (XR Rig)。
- 02
把预制体拖入 MainScene 的层级窗口。
- 03
将新对象的 Transform 先设置为与旧 XR Origin 一致。
- 04
取消旧 XR Origin 游戏对象名称左侧的启用勾选。
- 05
暂时保留旧对象作为对照,不要立即删除。
- 06
确认层级中只有新 XR Origin Hands 处于启用状态。

观察左侧层级中的新旧玩家装置和右侧 Tracking Origin Mode。旧对象暂时保留但应停用,新对象选择 Floor。
点击图片可以查看完整截图为什么只能启用一套 XR Origin
新旧装置同时运行时,多个系统会争用同一体验者的输入和画面。
左右滑动表格,可查看完整内容
| 重复对象 | 可能出现的现象 |
|---|---|
| Main Camera | 画面重叠、位置或高度异常 |
| Audio Listener | 控制台出现多个声音监听器提示 |
| 输入动作 | 同一次按键触发两套逻辑 |
| 手柄与射线 | 出现重复射线或交互竞争 |
| 移动系统 | 一次输入产生异常移动或转身 |
Tracking Origin Mode 的高度基准
本项目采用站立式体验,需要让虚拟地面与现实地面保持一致。
左右滑动表格,可查看完整内容
| 模式 | 高度基准 | 适合场景 |
|---|---|---|
| Device | 以头戴设备初始位置为基准 | 坐姿体验或需要人工高度偏移 |
| Floor | 以现实地面为基准 | 站立式和房间尺度体验 |
| Unbounded | 使用设备提供的更大空间 | 设备支持的大范围体验 |
| Not Specified | 由运行环境决定 | 不明确指定高度模式 |
设置地面高度并恢复摄像机后处理
- 01
选中 XR Origin Hands,把 Tracking Origin Mode 设置为 Floor。
- 02
展开 XR Origin Hands → Camera Offset,选中新 Main Camera。
- 03
在 Camera 组件的 Rendering 区域勾选 Post Processing,也就是“后处理”。
- 04
运行场景,对比替换前后的亮度、色彩和画面风格。

先在新玩家装置下选中 Main Camera,再在 Rendering 区域勾选 Post Processing。旧摄像机上的勾选不会自动转移。
点击图片可以查看完整截图让体验者回到博物馆入口
- 01
对比旧 XR Origin 的位置和旋转。
- 02
移动新 XR Origin Hands 根对象,使它与原有起点和朝向一致。
- 03
运行场景,确认视角没有落在地面、墙内或展台中。
- 04
需要调整时继续移动 XR Origin 根对象,不要直接移动由设备跟踪驱动的 Main Camera。
- 05
保存场景。
替换后逐项恢复原有能力
加入手部功能不能以丢失原有手柄体验为代价。
左右滑动表格,可查看完整内容
| 功能 | 替换前 | 替换后应达到的状态 |
|---|---|---|
| 头戴视角 | 正常 | 位置、高度和朝向保持正常 |
| 摇杆移动与转身 | 正常 | 继续正常工作 |
| 地面传送 | 正常 | 射线与传送区域继续匹配 |
| 手柄抓取 | 正常 | 仍能抓取三个文物 |
| 文物归位 | 正常 | 插槽仍能吸附并恢复工作 |
| 画面效果 | 已启用后处理 | 新摄像机呈现相同效果 |
| 手部层级 | 不完整 | 已经包含虚拟手和三类交互器 |
完成一次安全替换
从记录旧设置开始,把新玩家装置加入主场景,并在手柄模式下确认原有功能。
- 新 XR Origin Hands 已加入 MainScene,旧 XR Origin 已停用但暂时保留。
- 场景中只有一套活动主摄像机、声音监听器和输入装置。
- Tracking Origin Mode 已设置为 Floor。
- 新 Main Camera 已启用 Post Processing。
- 玩家起点和朝向与博物馆入口一致。
- 移动、转身、传送、抓取与文物归位仍能正常使用。
综合操作:从软件包到主场景
不查看答案,按照依赖、模型、交互装置和场景迁移的顺序独立完成整套操作。
- 确认 XR Hands 1.5.1、HandVisualizer 和 Hands Interaction Demo 已准备完成。
- 确认虚拟手材质已经转换为 URP Lit,左右手显示正常。
- 在示例中找出 Poke、Direct、Ray Interactor 和输入方式管理器。
- 记录旧 XR Origin,加入并设置新 XR Origin Hands。
- 恢复地面模式、摄像机后处理、起点和朝向。
- 使用手柄走完移动、转身、传送、抓取和归位流程。
常见现象与处理方法
先根据现象找到对应层级,再修改一个明确设置并重新观察。
左右滑动表格,可查看完整内容
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 找不到 XR Hands | 包管理器来源不是 Unity Registry | 切换软件包来源后重新搜索 |
| 只能看到其他版本 | 首页没有显示当前项目使用的版本 | 使用按名称添加,填写 com.unity.xr.hands 和 1.5.1 |
| Samples 中没有 HandVisualizer | 选错软件包或安装尚未完成 | 选中 XR Hands 1.5.1 并打开 Samples |
| 左右手呈现紫色 | Standard 着色器与 URP 不兼容 | 定位 HandsDefaultMaterial 并转换为 URP Lit |
| 只修复了一只手 | 左右手可能引用不同材质 | 分别检查两只手的 Skinned Mesh Renderer |
| 示例导入后出现引用错误 | Starter Assets、XR Hands 或 Shader Graph 依赖不完整 | 按示例依赖列表逐项补齐 |
| 加入新装置后出现两个画面 | 新旧 XR Origin 同时启用 | 停用旧对象,只保留一套活动玩家装置 |
| 控制台提示多个声音监听器 | 两台主摄像机仍在工作 | 确认只有新 Main Camera 处于启用状态 |
| 视角高度错误 | 地面模式或根对象位置不正确 | 选择 Floor,并调整 XR Origin Hands 根对象 |
| 替换后画面变暗 | 新 Main Camera 未启用后处理 | 在 Camera 的 Rendering 区域勾选 Post Processing |
| 替换后不能移动或传送 | 移动对象、输入动作或交互层没有恢复 | 对照旧装置检查 Locomotion、输入动作和传送层 |
| 真实手部暂时没有出现 | PICO 手部跟踪提供程序尚未启用 | 先确认本课结构正确,下一课继续完成 PICO 设备设置 |
本课成果清单
逐项确认后,你的主场景就已经具备继续接入 PICO 手部跟踪的基础。
- 我能说清 PICO 跟踪、OpenXR、XR Hands 和交互工具的数据顺序。
- 我已安装 XR Hands 1.5.1,并导入 HandVisualizer。
- 左右虚拟手已经使用 URP Lit 材质正常显示。
- 我已导入 Hands Interaction Demo,并能区分 Poke、Direct 和 Ray Interactor。
- 我能解释输入方式管理器怎样切换虚拟手与手柄。
- XR Origin Hands 已成为 MainScene 中唯一活动的玩家装置。
- 地面高度、后处理、起点与原有手柄功能均已恢复。
- 我知道下一课还要完成 PICO 提供程序与设备中的手部跟踪设置。
把知识变成作品
本课练习
请按顺序完成以下任务,并保存自己的学习成果。- 01
关闭资料,从包管理器开始独立完成 XR Hands 与两个示例的准备,并在项目窗口指出每个资源的用途。
- 02
请同学打乱“PICO 跟踪、OpenXR、XR Hands、虚拟手模型、交互工具”五张概念卡,再按数据顺序重新排列并说明理由。
- 03
把新旧 XR Origin 的关键设置做成对照清单,交换项目后帮助同学找出一个尚未迁移的设置。
把本课进度保存下来
登录后可以保存浏览内容、有效学习时间、完成状态和答题参与记录。