Meta Quest 3 MR盆栽应用开发:基于Unity与Meta XR SDK的手势识别实现
【Part 1】ハンドトラッキングで行う盆栽育成アプリの開発
前言
此次,我在株式会社GENEROSITY公司进行了实习,在此期间,我完成了从策划到开发一款通过手部追踪来照料盆栽的MR应用的全过程。以下将记录这一过程。
概要
本次我开发的是“MR盆栽”
这是一款可以在现实空间中放置虚拟盆栽的应用程序,用户通过手部追踪进行照料,盆栽的造型会随之发生变化。
最终制作完成的效果如下所示。

開発環境
- Windows 11
- Meta Quest 3
- Unity 6000.3.26f1
- Meta XR SDK
- Meta MR Utility Kit
- OpenXR 插件
- Blender 5.2LTS(将在下篇文章中使用)
環境構築
基于 Meta 官方文档:Unity 透视教程 构建。建议通过链接确认详细步骤。
创建新项目
「Mixed Reality(MR)」でも問題ありません。
必要なパッケージの導入
プロジェクト設定
Build Profiles で Android をアクティブにします。

Meta XR SDKのProject Setup Toolを開きます。

Fix All を押して現在のプロジェクトのXR向けの設定に自動で変更します。

残っている警告がありますが、これはビルドする際のアプリケーションの名前が設定されていないことを示しています。現状は問題ないです。
適用された設定の確認
Project Settings で XR plug-in Management →OpenXRを開きます。
Androidタブで以下の Meta Quest Supportにチェックが入っているか確認してください。

私の場合はこのチェックが入っていなくビルド後の動作がXRとしてうまくいかなかったりしました。警告も特に見当たらなく見落とすと後で大変です。
XR用の設定(CameraRig)
场景的基础设置
OVRManager 的设置(透传、追踪、空间显示)
选择 OVRCameraRig,在 Inspector 中打开 OVR Manager 组件。
- 启用 MR(透视)的步骤
将 SceneSupport 和 Passthrough 设为 Required。 - 为了启用手部追踪,请在同组件设置中将
Hand Tracking Suppor 设置为 Controllers And Hands。
另外在我的文章中,Hand Skeleton version 使用 OpenXR Hands。
由于 OVR Hand Skeleton 和 OpenXR Hand Skeleton 的骨骼排列不同,如果不统一,在直接引用特定骨骼位置时可能会出现引用了错误骨骼的情况。
例如,我在使用 OVR Hand Skeleton 时,本应引用食指,结果却引用到了无名指。
- 背景透明设置
在 CameraRig 的子对象 CenterEyeAnchor 的 Camera 组件中找到 Environment,将 Background Type 设置为 Solid Color,并将 Alpha 值设为 0。
稍后为了确认透视功能,建议放置一些对象。
构建
在 Windows 侧需要从以下页面安装“Oculus ADB Drivers”。
https://developers.meta.com/vr/downloads/package/oculus-adb-drivers/
在启用开发者模式的Quest 3上,通过USB-C线缆连接PC时,需在开发者调试授权通知中点击允许。
之后,在Unity的Build Profile中确认,Run Device选项中将可选择已连接的Quest 3。
构建完成后,应在Quest 3上确认了直通(passthrough)功能。
手势检测
关于通过手势触发事件的机制,参考了以下文章中关于手势注册及通过手势调用事件的部分。因此建议阅读该作者的文章。
手势判定实现
本次我准备的是用于MR盆栽养护的
"捏取(Pinch)"动作(闭合拇指与食指)
。
在设置手指时,我最初使用了如下拇指和食指的状态配置。
- 拇指:Curl(弯曲),is,Closed
- 食指:Curl(弯曲),is,Closed
- 其他手指:Nothing(不检测)

然而,手指跟踪的检测非常细致,如果不仔细地将手指完全弯曲,通常无法检测到。
在下面的视频中,当检测为ON时,材质会变为红色。

因此,对于"捏合"操作,我决定不是检测"手指闭合的时候",而是检测"手指未张开的时候"。
这样,即使是捏合动作也能进行判定了。
次回
- [Part2:功能实现篇]
投稿完成后更新链接
来源:Qiita · Unity 开发社区 · qiita.com






