XRの未来は「ハンズファースト」――そしてUnityのツールはすでに準備万端だ

Jun 11, 2026|5 分
「UI Poke Components」、「UI Scrollview」、「Manipulation」、「Snap Socket」とラベル付けされたUIパネルが含まれるシーンと、カーブ上に点在する青い3D オブジェクトとを、2つの仮想の手が操作している様子を、一人称視点のXR映像で示しています。
このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

共著者:アイザック・シー(主任テクニカルプロダクトマネージャー)、アレクサンドラ・セラルタ(シニアソフトウェアエンジニア)、ケトキ・ジャダフ(スタッフプロダクトデザイナー)、デイブ・ラデル(ソフトウェアエンジニアリング部門シニアマネージャー)

なぜ「ハンズファースト」がXRの未来なのか

ハンドトラッキングは数年前からXRでサポートされている入力方式ですが、多くのプロジェクトでは依然として、コントローラーを軸にコア体験を構築した後に追加される二次的な機能として扱われています。ますます多くの体験において、その優先順位はもはや意味をなさなくなっている。ジェスチャや身体的な操作、あるいはオブジェクトとの直接的なインタラクションを軸にしたゲームは、本来、手を使ってプレイする方がより自然に、より直感的に表現でき、コントローラーでは再現できないものなのです。

これを実現するには、これまで2つの主要なツール面の課題を克服する必要がありました。すなわち、信頼性の高いカスタムハンドジェスチャを構築するには多大なスクリプト作業が必要であり、また、ヘッドセットが物理的に手元にない状態では、手のインタラクションに関する反復作業が困難だったのです。UnityのXRパッケージに追加された2つの機能は、これら両方の課題に直接対応しています。「XR Hands」パッケージに含まれるXRハンドキャプチャ機能を使用すると、デバイス上で実際の手のポーズを記録し、再利用可能なジェスチャーアセットとしてUnityにインポートすることができます。「XR Interaction Toolkit」の「XR Interaction Simulator」に追加された「Hands Simulation」は、Unity エディター上で手のトラッキング開発を完全に再現するため、ヘッドセットを装着せずに反復開発を行うことができます。

この記事では、両方の特徴の仕組み、使用すべき場面、および既存のプロジェクトへのインテグレーション方法について解説します。

XR Handsキャプチャ

XR Hands パッケージは、XRHandSubsystem を通じてフレームごとのジョイントデータを公開します。そのデータに基づいてジェスチャを構築するには、一連のジョイント角度と指の形状の条件を定義し、それらが同時に満たされたときに認識されるポーズとなるようにする必要があります。ピンチやタップといった簡単なジェスチャーについては、このパッケージにはすぐに使える実装が含まれています。カスタマイズを行う場合、従来のアプローチでは指ごとに指の形状を設定する必要があり、そのため、すべての処理をデバイス上で実行しなければなりませんでした。

その手作業によるプロセスは基礎的なものではありましたが、XR Hands Captureで現在可能となっている方法と比べると、時間がかかり、信頼性も劣っていました。シグネチャーポーズや3D オブジェクトの操作、UIの精密な操作といったゲームプレイの仕組みにおいて不可欠な、ジェスチャーの正確な再現性は、指の形状を一つひとつ手作業で定義していた時代には実現が困難でした。こうした近似手法では、処理に時間がかかり、手の形状の違いによって結果が不安定になりやすく、真に魅力的な「ハンドファースト」体験に不可欠な、自然で直感的な操作感が得られませんでした。

XRハンドキャプチャのワークフローにおける2つのステップを示す分割画像です。左側は、ヘッドセットのUIがデバイス上で「親指を立てる」手のポーズをキャプチャしている様子、右側は、キャプチャされた手のスケルトンモデルがUnity エディターのInspectorにインポートされ、表示されている様子です。
XRハンドキャプチャ:デバイス上でポーズを記録し、Unityにインポートする

仕組み

XR Hands Captureは、デバイス上でポーズをとっている間にXRHandSubsystemが生成する実際のジョイントデータを記録し、その記録データからXRHandShapeアセットを生成することで、この課題に対処します。近似値ではなく、実際の動作データに基づいてジェスチャを作成しているため、手の大きさや動きのばらつきがあっても、結果として得られるインタラクションの安定性が高まり、意図した通りの操作感を実現できます。

ワークフロー:

  • Package Managerから「XR Hands」パッケージ内の「HandCapture」サンプルをインポートします。
  • OpenXRデバイスにサンプルシーンを展開して開いてください。
  • 撮影したいポーズをとってください。このシーンは、XRHandSubsystemからのライブのジョイントデータをXRHandCaptureSequenceに記録します。
  • 「XR Hand Capture」Inspector ウィンドウ([Window] > [XR] > [XR Hand Capture])を使用して、録画データを Unity エディターにインポートします。
  • 「XRHandShape」アセットを抽出します。これは手のポーズをシリアライズした表現であり、任意の「StaticHandGesture」コンポーネントやカスタム検出ロジックから参照することができます。
  • 必要に応じて許容範囲を調整し、再度記録して精度を高めてください。
ヘッドセット上で動作する「XR Hand Capture」のサンプルシーン。6つの選択可能な手のポーズが並んで表示され、「手順を見る」ボタンと「開始」ボタン、および「ヘッドセットから直接記録するだけで、コーディングや指の値の割り当てを必要とせずに、素早く手の形状を作成できます」という説明文が表示されています。
OpenXRデバイス上で動作する「XR Hands Capture」のサンプルシーン

「XRHandCaptureSequence」と「XRHandShape」はどちらも実際のキャプチャデータから生成されるため、ビルドしたジェスチャライブラリは手の実際の動きを反映しており、プレイヤーが実施するインタラクションにおいて自然な操作感を実現します。また、これによりエンジニア以外の人もジェスチャーの作成に参加できるようになります。デザイナーやアニメーターは、コードに触れることなく、デバイス上で直接ポーズを記録し、改良を重ねることができます。これにより、インタラクションの「使い心地」を最も重視するデザイナーやアニメーターが、その設計に直接関わり続けることが可能になります。

XRインタラクションシミュレータにおける手のシミュレーション

XR Interaction Toolkit」に含まれる「XR Interaction Simulator」を使用すれば、開発者は物理的なデバイスを用意することなく、Unity エディター内でXR体験を実行できます。これは、テストのたびにヘッドセットを装着することが大きなオーバーヘッドとなる初期段階の反復開発において特に有用です。つい最近まで、コントローラーからの入力のみをサポートしていました。ハンドトラッキングを中核としたプロジェクトには同等のものが存在しなかったため、ハンドインタラクションの開発は基本的にヘッドセットに依存していた。これまでは、タップ、ピンチ、つかむといった標準的なビルトインジェスチャーに加え、シミュレーター上で独自のカスタムジェスチャーを直接テストできるようになりました。これは、UnityのXRツール以外ではどこにもない特徴です。

Unity XR Interaction Simulatorのズームビュー。XR環境内に2つの半透明の仮想の手が表示されており、左手はピンチジェスチャーを行っており、オーバーレイUIには「Poke」「Pinch」「Grab」とラベル付けされたジェスチャーコントロールが表示されています。
Unity エディター内のXRインタラクションシミュレータでハンドジェスチャーのテストを行う

導入ガイド

まず、Unityの最新バージョン(6.3以降)をダウンロードし、Unity Package Managerからこれらの特徴を追加してください。

  • XR Handsキャプチャは、XR Handsパッケージ(バージョン1.7以降)の一部として提供されます。インストールまたは最新バージョンにアップデートし、`HandCapture` サンプルをインポートして、開始してください。完全なドキュメントとAPIリファレンスは、XR Handsのドキュメントでご覧いただけます。
  • 「Hands Simulation」は、XR Interaction Toolkit パッケージ(バージョン 3.5 以降)および XR Hands(バージョン 1.8 以降)の一部として、XR Interaction Simulator で利用可能です。最新バージョンをインストールまたはアップデートし、「XRI Starter Assets」サンプルをインポートしてください。設定の詳細については、XRIのドキュメントを参照してください。

より幅広い視点から開始するには、「XR Interaction Toolkit Examples」に、一般的なハンズファーストインタラクションパターンを網羅したリファレンスシーンが含まれています。特にXR Handsキャプチャに関するコミュニティのリファレンスをお探しなら、Dilmer Valecillos氏が作成したハンドキャプチャのデモプロジェクトが参考になるでしょう。開発者たちがUnity XRを使ってどんなものを作っているのか、気になりませんか?見てみてください

次は?

現在進行中の作業は、両方のパッケージにまたがっています。XR Handsにおける主な開発領域には、OpenXR仕様へのポーズデータの準拠、Palm Pose拡張機能のサポート、ピンチ、ポーク、エイム、およびデバイスポーズにわたる入力アクションのマッピング、ならびにポークインタラクションの改良が含まれます。また、手のデータが「素手でのカメラトラッキング」によるものか、「コントローラーによる推定」によるものかを判別するOpenXR拡張機能のサポートも拡充しています。これは、プレイヤーの物理的なインタラクションに応じてゲームメカニクスを適応させたいゲームにとって重要な機能です。XRIでは、ハンズオン型のユースケースが増える中、デバイス上でのテストに代わる信頼性の高いプロキシとして、「XR Interaction Simulator」への投資を継続しています。

7月9日午後12時(米国東部時間)に開催されるライブストリームにぜひご参加ください。Metaから特別ゲストをお迎えし、XR HandsキャプチャとXRIシミュレーターの実演に加え、ライブQ&Aや今後の展望についてもご紹介します。