XRI Hand Demo に haptics を追加
Unity 公式の XR Interaction Toolkit (XRI) のサンプル「Hands Interaction Demo」に、Hapbeat の触覚フィードバックを後付けで追加する。掴む・押す・スナップする・こするといった操作すべてに haptics が追加される。
- Unity 6 (6000.0) 以上
- XR Interaction Toolkit — 動作確認済みは 3.3.1
- Hapbeat SDK
- Hapbeat 実機 — Unity を動かす PC と同じ Wi-Fi
- ハンドトラッキング対応 HMD — Quest 3 / 3S など
-
XR Interaction Toolkit を Install
- Package Manager → Unity Registry
- VR テンプレートで作成したプロジェクトには導入済み
-
XRI の Samples から Starter Assets と Hands Interaction Demo を Import
- 展開先は
Assets/Samples/XR Interaction Toolkit/<version>/Hands Interaction Demo/
- 展開先は
-
Hapbeat SDK を Install
-
Package Manager →
+→Install package from git URL...に次を貼り付けhttps://github.com/Hapbeat/hapbeat-unity-sdk.git -
バージョン固定は末尾にタグを付与(例
#v0.3.0)
-
-
Hapbeat SDK の Samples から XR Helpers と XRI Hand Demo (haptics add-on) を Import
- 両方必要。前者は XRI 用のフィルタコンポーネント、後者は EventMap と Kit
-
HandsDemoScene.unityを開く -
メニュー
Hapbeat > Samples > Augment XRI Hand Demoを実行- 触覚コンポーネントを配置し、XRI 側の UnityEvent に配線
- Undo 1 回で全て取り消し可能。再実行しても重複なし
- 適用件数・スキップ件数・警告数を Console に 1 行で出力
-
OpenXR で Hand Interaction Profile と Hand Tracking Subsystem を有効化
- 設定先は
Project Settings → XR Plug-in Management → OpenXRのビルド対象のタブ(Quest 単体なら Android、Air Link で Editor Play なら PC) - 未設定だと掴めない。poke は指の位置だけで成立するが、grab はピンチ = select 入力を要し、それを供給するのが Hand Interaction Profile
- 設定先は
-
Hapbeat を同じ Wi-Fi に接続して Play
動作しないとき
Section titled “動作しないとき”| 症状 | 対処 |
|---|---|
HandsDemoEventMap.asset が見つからない | サンプル XRI Hand Demo (haptics add-on) が未 Import → 手順 4 |
| 開いているシーンが Hands Interaction Demo ではない | シーン違い、または XRI のバージョン差。見つからなかったパスはダイアログに列挙 |
Console に GameObject '…' not found | XRI 側で改名・移動。警告に出たパスを手動で配線(Trigger コンポーネント) |
Console に type '…HapbeatXRGrabFilter' not found | サンプル XR Helpers が未 Import → 手順 4 |
| 掴めない | Hand Interaction Profile と Hand Tracking Subsystem を有効化 → 手順 7 |
| 触覚フィードバックが出ない | Q&A の接続関連を参照 |
ライセンスとツール方式の理由
Section titled “ライセンスとツール方式の理由”Hapbeat SDK が配布するのは EventMap・Kit・配線を適用する Editor コマンドの 3 点のみで、シーン本体は非同梱。XRI 由来のアセットは 1 つも含まない。
XRI のサンプルは Unity Companion License (UCL) 下にある。改変したシーンの権利の帰属や著作権表示の義務が絡むため、SDK に第三者アセットを含めない形にしている。
ビルド済みアプリ(APK など)の配布は別で、UCL が想定するアプリケーションそのものであり許諾範囲に収まる → XRI Hand Demo の APK を入れて試す
- Trigger コンポーネント — 適用された Trigger コンポーネントの役割
- EventMap ウィンドウ — EventMap を編集して感触を調整する