ジェスチャ サービス
Gestures Service は、クライアント アプリケーションのローカル サービスとしてジェスチャ検出を提供します。 たとえば、Project Prague - DiscoveryClient、 ジェスチャ カメラ 、 Wolfly で提供されるデモ アプリケーションはすべて、ジェスチャ検出のために ジェスチャ サービス に依存しています。 GesturesServiceEndpoint クラスを使用して、アプリケーションから Gestures Service と通信できます。
Project Prague をインストールすると、マシンが起動するたびにジェスチャ サービスが起動します。 これを無効にするには、[ジェスチャ サービス UI (ユーザー インターフェイス)] ウィンドウの [システム] セクションの [Windows 起動時に検出を有効にする] チェック ボックスをオフにします。
ジェスチャ サービス UI
ジェスチャ サービスには、ジェスチャと姿勢の検出に関する情報をリアルタイムで表示する UI があります。 この UI は、次に示すように、Microsoft ジェスチャ サービス ウィンドウです。
ジェスチャ サービスの実行と終了
ジェスチャ サービスを起動するには、[ジェスチャ サービス] Microsoftをダブルクリックします。デスクトップの Gestures.Service ショートカット。
ジェスチャ サービス UI を非表示にするには、右上隅にある [X] ボタンを使用してウィンドウを閉じます。
注意
UI を閉じて も、ジェスチャ サービス プロセスは終了しません。つまり、ジェスチャ検出は引き続き使用できます。 ジェスチャ サービス UI をもう一度表示するには、非表示にした後で、Microsoftをダブルクリックします。デスクトップの Gestures.Service ショートカット。
ジェスチャ サービス プロセスを終了するには、ジェスチャ サービス UI の [システム] セクションの [シャットダウン] リンクをクリックします。
ジェスチャ サービスの UI 機能
ここでは、ジェスチャ サービス UI のさまざまなセクションについて詳しく説明します。
すべてのセクションの右上隅に 最大化ボタン があり、ジェスチャ サービス UI ウィンドウの全範囲を占めるセクションを拡張できます。
システム セクション
[システム] セクションは、ジェスチャ サービス UI のコマンド アンド コントロール センターです。
このセクションは 2 つの部分に分かれています。上部には ジェスチャ サービス のさまざまな機能を制御するためのチェック ボックスが含まれています。下部には、時間の経過と共に進化する関連するパフォーマンス メトリックが示されています。
チェックボックスとそれに対応する機能を次の表に示します。
チェックボックス | 機能 |
---|---|
検出を有効にする | ジェスチャ サービスを停止または再開する |
両手を有効にする [試験段階] | 右手の検出 (常にオン) に加えて、左手の検出を有効にします。 左手検出を有効にすると、CPU 消費量が少し増加します。 |
Windows スタートアップ時に検出を有効にする | 次回 Windows の起動時に ジェスチャ サービス を起動するかどうかを指定する |
トースト通知を有効にする | ジェスチャ サービスにトースト通知を表示するかどうかを指定する |
UI の更新 | ジェスチャ サービス UI を停止または再開する |
ログを表示する | ジェスチャ サービス UI の [ログ] セクションの表示を切り替える |
[ ログの表示 ] チェックボックスが有効になっている場合は、[ログのクリア] リンクを押して、その内容の ログをクリア できます。
[システム] セクションの下部にあるグラフは、
- FPS - 一瞬のフレーム レート (1 秒あたりのフレーム単位)。
- CPU - 使用可能な処理能力の合計に対する割合として、一瞬の処理リソース消費量。
- メモリ - 一時 RAM (ランダム アクセス メモリ) の合計消費量 (メガバイト単位)。
FPS と CPU のメトリックが計算され、ワークフロースレッドと UI スレッドの両方に対して表示されます。 ワークフロー スレッドは、メイン ワーカー スレッドです。
グラフにプロットするメトリックを制御するには、[ システム ] セクションの下部にあるチェックボックスを切り替えます。
[イメージ] セクション
ジェスチャ サービス UI のこのセクションには、深度カメラによって生成された IR ビデオ ストリームが表示されます。 ご覧のように、手の周りの四角形内のピクセルのみをフィルター処理して表示します。
IRフレームの上に、各指の推定方向と各指先の位置を示すベクトルを描画します。 また、 手のひらの位置 を中心にして、次の軸で構成されるローカル座標系を描画します。
- 青 - 手の ひらの平面に垂直な方向。 この API では、この軸を手のひらの 方向と見なします。
- 緑 - 中央の指が伸ばされていた場合に揃える方向。この API では、この軸を手のひらの 向きと見なします。
- 赤 - 手のひらの方向 (青) 軸と手のひらの向き (緑) 軸のクロス積。
[クライアント] セクション
このセクションでは、 ジェスチャ サービスに現在接続されているクライアントの一覧を表示します。 次に例を示します。
ここでは、1 つのクライアントのみが存在し、それに対して次の情報が表示されます。
- クライアントのプロセス名 - Microsoft。この例の Gestures.DiscoveryClient。
- この例のクライアントの プロセス ID - 14740。
- この例のクライアントの GesturesServiceEndpoint - 1.0.17271.5 の API バージョン。
- クライアント がスケルトン ストリームを受信 しているかどうかを示します。クライアントは スケルトン ストリームを受信しています。
- クライアントがサービスに登録したすべてのジェスチャ ( 例の "Discovery_Tray"、"Shell_MuteToggle"、"Shell_Start" の一覧。
[ジェスチャの検出] セクション
[ ジェスチャの検出 ] セクションには、登録されているすべてのジェスチャの検出履歴が示されています。 すべてのジェスチャがステート マシンとして表されることを思い出してください。 特定のジェスチャの正しい実行は、シーケンスの最初の状態が初期状態であり、最終的な状態が受信状態になるように、そのステート マシン内の一連の状態に対応します。
[ ジェスチャ 検出] セクションのスナップショットを次に示します。 ある時点で登録されたすべてのジェスチャは、UI の 2 行 (各手に 1 行) に対応しています。 上部の強調表示された行は、現在登録されているジェスチャに対応し、下部の灰色表示された行は、現在登録解除されているジェスチャに対応します。
ジェスチャは、その定義に応じて、特定の指定された手 (右または左) またはいずれかの手で実行できます。 これは、ジェスチャに関連付けられている HandPoses を定義し、SingleHandContext または AnyHandContext を使用して構築された PalmPose 制約を割り当てるときに指定できます。 特定のジェスチャの場合、[ 右] (左) 行は、実行履歴を右 (左) の手で詳しく説明します。 UI の [システム] セクションの [2 つの手を有効にする ][試験段階] ボックスがオンになっている場合にのみ、左手の検出が有効になり、[左] 行が強調表示されます。
UI の [ジェスチャ 検出] セクションには、次の 3 つの列があります。
- ジェスチャ - ジェスチャ名とその状態を表示します。
- - ジェスチャが現在登録されていることを示します。
- - ジェスチャが現在登録解除されていることを示します。
- TimeLine - 対応するジェスチャに関連付けられているイベントの履歴を表示します。
- [現在] - ジェスチャ状態マシン内の現在の ジェスチャ セグメント (状態) の名前を指定します。
[ログ] セクション
[ログ] セクションには、 ジェスチャ サービス によって生成されたメッセージのストリームがリアルタイムで表示されます。 ジェスチャ サービス プロセスの内部状態に関するさまざまな情報がここに表示されます。 ジェスチャ サービスが期待どおりに動作しない場合は、ログにエラーの表示を探してみてください。 問題を自分で解決できない場合は、サポートにお問い合わせくださいgestures@microsoft.com。
ログ セクションのスナップショットの例を次に示します。
注意
ログはハード ディスク ドライブに保持されません。