コンテンツにスキップ
JA

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 など
  1. XR Interaction Toolkit を Install

    • Package Manager → Unity Registry
    • VR テンプレートで作成したプロジェクトには導入済み
  2. XRI の Samples から Starter AssetsHands Interaction Demo を Import

    • 展開先は Assets/Samples/XR Interaction Toolkit/<version>/Hands Interaction Demo/
  3. Hapbeat SDK を Install

    • Package Manager → +Install package from git URL... に次を貼り付け

      https://github.com/Hapbeat/hapbeat-unity-sdk.git
    • バージョン固定は末尾にタグを付与(例 #v0.3.0

  4. Hapbeat SDK の Samples から XR HelpersXRI Hand Demo (haptics add-on) を Import

    • 両方必要。前者は XRI 用のフィルタコンポーネント、後者は EventMap と Kit
  5. HandsDemoScene.unity を開く

  6. メニュー Hapbeat > Samples > Augment XRI Hand Demo を実行

    • 触覚コンポーネントを配置し、XRI 側の UnityEvent に配線
    • Undo 1 回で全て取り消し可能。再実行しても重複なし
    • 適用件数・スキップ件数・警告数を Console に 1 行で出力
  7. 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
  8. Hapbeat を同じ Wi-Fi に接続して Play

症状対処
HandsDemoEventMap.asset が見つからないサンプル XRI Hand Demo (haptics add-on) が未 Import → 手順 4
開いているシーンが Hands Interaction Demo ではないシーン違い、または XRI のバージョン差。見つからなかったパスはダイアログに列挙
Console に GameObject '…' not foundXRI 側で改名・移動。警告に出たパスを手動で配線(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 を入れて試す