开发者 / Godot / Quest 与 PICO 分步教程
Godot 分步教程
三个可直接运行的 Meta Quest 和 PICO 场景,以及每个场景如何添加触觉反馈。
获取项目
克隆项目
HexR-Developer-Tutorial-Godot ↗。项目中已包含 HexR 插件 0.2.0、OpenXR Vendors 插件 5.1.0 和 Godot XR Tools 4.5.2。
在 Godot 4.6+ 中打开
首次导入大约需要一分钟。
安装 Android 构建模板
Project → Install Android Build Template。
导出
选择 Quest 或 PICO 预设并导出,或者连接头显后使用 Remote Deploy。请使用手部追踪:把手柄放下。
场景
1 · 基础教程(Basic Tutorial)
| 对象 | 触觉的添加方式 | 你的感受 |
|---|---|---|
| 泡沫块 | HexRGrabbable,手掌抓取,强度 20 | 包住它的每根手指都会感到轻柔的按压 |
| 钥匙 | HexRGrabbable,捏合抓取,强度 40 | 有力的捏合感 |
| 火把 | HexRGrabbable + 火焰上的 SpecialHaptics(自定义振动,25 Hz) | 先是握持感,指尖进入火焰时会有嗡嗡的振动 |
| 按钮 | HexRPhysicalButton → 灯泡的 toggle() | 按钮按下期间,食指会感到按压 |
| XR Tools 小球 | XR Tools pickable.tscn + HexRInteractableHaptics | 压力随你挤压的力度而变化 |
2 · 医院教程(Hospital Tutorial)
| 对象 | 触觉的添加方式 | 你的感受 |
|---|---|---|
| 手腕和颈部 | SpecialHaptics,心跳 | 指尖下的脉搏 |
| 脉搏按钮 | HexRPhysicalButton → heartbeat_toggle.gd | 所有脉搏在规律与不规律之间切换 |
| 心脏 | 心跳区域(包括手掌)+ 手部挤压区域,squeezing_heart.gd | 它在你的掌心跳动;用力挤压,心跳就会加快 |
3 · 水效果(Water Effects)
| 对象 | 触觉的添加方式 | 你的感受 |
|---|---|---|
| 喷泉 | SpecialHaptics,喷泉 | 流水感:处于水柱中的手指会感受到 18 Hz 的振动 |
| 雨云 | SpecialHaptics,雨滴 | 朝上的掌心会随机感受到雨滴 |
可在悬浮菜单的 Scenes 部分或 HexR Companion 中切换场景。两者都列出 Project Settings → HexR → Scenes 中的场景。
场景添加触觉的三种方式
- 无需代码的节点:抓取、按钮和区域,每个都是一个监测指尖的
Area3D。 - 工具包自带的拾取功能:XR Tools 可拾取物体上的
HexRInteractableHaptics会自动绑定到其信号。 - 少量 GDScript:心脏、脉搏切换,以及
scripts/中的 Remote 命令。
这些场景由 tools/build_scenes.gd 生成,因此在一个文件中就能看清它们的布局和连接方式。你可以随意编辑场景,但重新运行生成器会覆盖这些修改。