ハンド コーチ

例: ハンド コーチ

ハンド コーチは、システムがユーザーの手を検出しない場合に、3D モデル化された手をトリガーします。 この機能は、ジェスチャが学習されていないときにユーザーをガイドするのに役立つ "教育" コンポーネントです。 ユーザーが指定したジェスチャを一期間実行していない場合、手は遅延でループします。 ハンド コーチは、ボタンの押下やホログラムの選択を表す場合に使用できます。

ハンド コーチ提供

現在の相互作用モデルは、スクロール、遠くの選択、近タップなど、さまざまなジェスチャ コントロールを表します。 MRTK で提供されている既存の手のジェスチャの完全な一覧を次 に示します

Near Select の例
[近くの選択] の例 - ボタンを選択する方法、または対話可能なオブジェクトを閉じる方法を示します

Air Tap の例
Air Tap の例 - 遠く離れたオブジェクトを選択する方法を示す目的で使用されます

移動の例
空間内のオブジェクトの移動の例 - 空間内でホログラムを移動する方法を示す場合に使用します

回転の例
ホログラムまたはRotate-Used回転する方法を示すオブジェクトの例

スケールの例
スケールの例 - ホログラムを操作する方法を大きくまたは小さくする方法を示す場合に使用されます

Palm Up の例
手の上の例 – 手のメニューを表示する場合に推奨される使用

HandFlip の例
ハンド フリップの例 – ハンド メニューを表示するもう 1 つの方法

Scroll の例
Scroll の例 – リストまたは長いドキュメントをスクロールするために使用されます

設計概念

Hololens2 では、本能的な手のジェスチャと自然な手のジェスチャに基づいて手の操作を設計しました。 これらはほとんどのユーザーにとって直感的だと考え、専用のジェスチャ学習の瞬間を作成したのではありません。 代わりに、ユーザーが動けなくなったり、ホログラムの相互作用に慣れていない場合に、これらのジェスチャについてユーザーが学習するのに役立つハンド コーチを作成しました。 学習の瞬間がなくても、アクションを実行する方法をユーザーに示すのが最善の選択肢だと感じていました。 ユーザーはジェスチャを把握できたが、少しガイダンスが必要だった。 ユーザーが一期間オブジェクトと対話しない場合は、ハンド コーチがトリガーされ、正しい手と指の配置が示されます。

直感 的

手をアニメーション化する場合は、明らかであり、混乱を引き起こさてはならない。 手のアニメーションは、ユーザーに理解を求めようとしているジェスチャの表現です。

たとえば、ユーザーがボタンを押す場合は、ボタンを押す手がトリガーされます。

例: ハンド コーチのニア タップ
近くで Gem をタップする方法を示すハンド コーチ

手のスケール

UI メニューを使用してさまざまな手のサイズをテストし、手のサイズが正しい場合は、めったに感じない感じがしたと感じていました。 小さすぎる場合は、ジェスチャを見て理解するのは難しいでした。

ボイス オーバーとハンド

ユーザーが音声を介して 1 つの命令セットをリッスンし、ハンド コーチを介してさまざまな手順を見ていけるとは思ってはだめです。 ユーザーが集中し、センサーの過負荷を減らすために注意を払うのと競合するのに役立つ手順をシーケンスします。

自分で作成できますか?

はい、ご利用いただけます。 ゲーム用に独自のジェスチャを作成し、コミュニティに貢献してください。 アプリに使用できる Rigged ハンドの Maya ファイルが用意されています。ダウンロード は、こちらからダウンロード HandCoach_MRTK.zip

Maya でのアニメーション化された手の例
Maya でアニメーション化された手で箱を突き出す例

推奨される作成ツール

3D の音楽家の間では、多くの人がAutodeskの Maya を使用します。この Maya は、HoloLensを使用してアセットの作成方法を変換できます。 指定されたハンド ファイルは Maya バイナリ ファイルなので、Maya を使用して手をアニメーション化およびエクスポートをお勧めします。 別の 3D プログラムを使用する場合は、 を次に示します。FBX:独自のHandCoachMRTK_FBX.zipセットアップを作成するために、新しいファイルをダウンロードします。

ダウンロード可能な maya ハンド ファイルを使用する場合は、Unity で手を 0.6 にスケールダウンしてください。

例: Maya のハンド コーチ リグ
リグハンド

技術仕様

  • 2 つの手渡しファイルを Maya Ascii 形式で使用できます
  • 右手と左手は Maya バイナリ形式で使用できます
  • Maya ファイルを 24 FPS に設定する
  • ファイル内には、左右の手があります。これは、2 つの手のジェスチャまたは単一の手のジェスチャに使用できます。 右側は既定でのみ表示されます。
  • フェードの先頭と末尾に約 10 フレームのバッファーを残してお勧め
  • 指定したターゲットを使用してオブジェクトをアニメーション化する場合は、Default ボックスまたは Null にアニメーション化するベスト プラクティスです。
  • 手がボックスなどの物理オブジェクトをアニメーション化している場合は、Maya で翻訳をアニメーション化しないが、Unity または Code でアニメーション化するのを待つというベスト プラクティスです。
  • 意味のある情報を伝達するには、表示アニメーションを 1.5 秒に設定する必要があります
  • アニメーションに満足している場合:

Maya からのエクスポート

アニメーションに問題がなければ

  • [Select all > hierarchy]を選択します。

    例: メニューの階層

  • アニメーションをベイクアウトする: アニメーションに切り替>キー>ベイク アニメーション

    例: アニメーションのベイク メニューの場所

  • コントローラー のリグを削除する: アウトライン > MainR_GrpまたはMainL_Grp

    例: コントローラー の [リグ] メニューの場所

  • FBX としてエクスポート: [JNT + Mesh: File > Export Selection (オプション ボックス) を選択し、エクスポート>選択

    例: エクスポート選択メニューの場所

    例: メニューの場所

    例: エクスポート オプションのメニューの場所

FBX としてエクスポートして Unity に取り込む場合は、手を 0.6 にスケールダウンします。 これは手を表示するための完璧なバランスであるのが分かっています。

例: Unity 設定
MRTK 設定プレHandCoach_R用の Unity のインストール

Unity プロジェクトへのハンズの実装

ベスト プラクティス

  • Unity で手を 0.6 にスケールダウンする方法が推奨されます

  • 手は 2 回再生する必要があります。完了していない場合は、ジェスチャが完了するまで継続的にループされます。 ユーザーがジェスチャを登録して表示する時間を確保するために、手を 2 回ループする必要があります。 手はループ間でフェードインおよびフェードアウトする必要があります。

  • ユーザーの手が HL2 カメラで表示されているが、ユーザーが必要な操作を行っていない場合、手は 10 秒後に表示されます。

  • ユーザーの手が HL2 カメラで表示されない場合、手は 5 秒後に表示されます。

  • アニメーションの途中でユーザーの手が HL2 カメラによって目に見えて追跡されている場合、アニメーションは完了し、フェードアウトします。

  • ボイス オーバーを含めた場合は、手のジェスチャに対応する方法をお勧めしています。

  • 少なくとも1回は、ユーザーが動かないことが検出された場合にのみジェスチャを繰り返すだけです。

  • 特定の指と位置が重要である場合は、アニメーションの微妙な差異をユーザーがはっきりと確認できるようにします。 最も重要な部分が明確に表示されるように、角度を試してみてください。

  • 手にひずみがある場合は、Unity の品質設定にアクセスして、骨の数を増やす必要があります。 Unity の編集 > Project 設定 > 品質 > その他 > Blend の重みにアクセスします。 Smooth 関節を表示するには、"4 つの骨" が選択されていることを確認してください。

    例: Project 設定ウィンドウ

避けるべきこと

  • ハンドのサイズが大きすぎます
  • ユーザーに近すぎるユーザーを配置する
  • ハンズオンは、1回だけ学習する必要があります。 教育を超えると混乱を招き、messiness
  • Unity に取り込むには、最新の MRTK をこちらからダウンロードしてください。 https://github.com/microsoft/MixedRealityToolkit-Unity
    • 素材: Teaching_Hand2
    • スクリプト: mrtkでの mrtk のガイドラインを参照してください。
    • プロジェクトごとの設定

こちらもご覧ください