メインコンテンツまでスキップ
バージョン: 0.23.2

拡張版ハンドトラッキングのサンプル

Core Assets

Core Assetsのサンプルを使用すると、プロジェクト間で共有される定義済みのアセットを取得できます。

これらのアセットはサンプルとして提供されており、プロジェクトにインポートしてベースとして使用したり、カスタマイズしたりできます。

サンプルには、定義済みのXRリグとインタラクターに加えて、QCHTIプロジェクトのセットアップを素早く行うためのデフォルトの入力マッピングが含まれています。 alt text

QCHTのサンプル

このサンプルシーンでは、ハンドトラッキング機能を使用して、デモとして様々なインタラクション(近位、遠位、片手、両手)を紹介します。ハンドトラッキングの仕組みの詳細については、基本的なシーン設定の項目を参照してください。

ビルドのサンプルシーン

まず、プロジェクト設定のOpenXRの項目でHand Trackingが有効になっていることを確認します。 alt text

次に、QCHT Unity Interactionsパッケージからサンプルをインポートします。 alt text

全てのシーンは、以下のフォルダに存在します。
Assets > Samples > QCHT Unity Interactions > [パッケージ バージョン番号] > QCHT Interactions Samples

これらのサンプルをエディターモードで試すには、以下のシーンを開きます。
Assets > Samples > QCHT Unity Interactions > [パッケージ バージョン番号] > QCHT Interactions Samples > Menu > Scenes > QCHT Sample - Menu
エディターのシミュレーションモードでインタラクションを試すには、 基本的なシーン設定の情報を参照してください。

重要

ハンドトラッキングのサンプルをテストする前に、すべてのシーンをビルド設定に追加する必要があります。 alt text

サンプルの説明

サンプルは4つのシーンに分かれています。これらの4つのシーンを選ぶのがQCHT Sample - Menuシーンです。

QCHT Sample - Menuシーン内のメインメニューでは、以下の項目を切り替えることができます。

  • シーン
  • インタラクション
  • 手のアバター
    ARコンテキストでアバターを表示することは、一般的には推奨されません。

近くのオブジェクト

alt text

シンプルなインタラクション

  • ピンクの立方体:つまむことで、オブジェクトを操作できます。
  • 水色の立方体:つかむ(握る)ことで、オブジェクトを操作できます。

スナップ

ユーザーがピンクの立方体をつまむと、スナップの項目でプリセットされているように、手のアバターがその上にスナップします。

スナップ可能なオブジェクトは、主にスナップポーズのプロバイダシステムとスナップのポーズジェネレーターで動作します。

遠くのオブジェクト

alt text パンダは、ユーザーが手からレイキャストを照射してターゲットにするとインタラクティブになります。コントロールボックスのコンポーネントにより、つまむことで移動、回転、サイズ変更ができます。

UIエレメント

alt text UIエレメントについては、レイキャストを使用して操作できます。ラジオボタン、チェックボックス、スライダー、スクロールビュー、ボタンなど操作する要素は多数あります。UI内の項目にポインターを合わせ、つまむことで選択できます。

UIエレメントはすべてのイベントを受信し、Unity標準に形式に変換します。これは、ユーザーアクションとシステムリアクションの間のリンクです。レイキャストされた要素は、すべてのUnityのコールバックに応答します。レイキャストのシステムの詳細については、遠くのインタラクションの項目を参照してください。

描く

alt text

  • つまむジェスチャー:描くアクションを開始します。
  • 手をひらくジェスチャー:描くアクションを停止します。

タイピング(実験的)

タイピングのサンプルシーンは、以下の場所に存在します。
Assets > Samples > QCHT Unity Interaction > [パッケージ バージョン番号] > QCHT Interaction Samples > Poke > QCHT Sample - Poke > QCHT Sample - Poke
alt text このシーンでは、Poke Interactorがバーチャルキーボードに使われています。このキーボードでは、Poke Interactorのおかげで、ユーザーが人差し指でキーに触れてテキストを入力することができます。

それぞれのキーには、ButtonSimple Interactableが含まれています。
キーは押された動作を視覚効果的に与えるXRPokeFollowTransformコンポーネントと、押されたときの動作を設定するKeyButtonを含みます。

また、Distal Interactionsを使って、キーとインタラクトすることも可能です。

TIP

このシーンにはカメラが存在しないため、QCHT Sample - Pokeシーン内の全てのオブジェクトをQCHT Sample - Menuシーン等のカメラがあるシーンにコピーして利用することで動作します。