SpatialGestureRecognizer クラス

定義

手、モーション コントローラー、システム音声コマンドからのユーザー操作を解釈して空間ジェスチャ イベントを表示します。このイベントは、ユーザーが視線入力またはモーション コントローラーのポインティング レイを使用してターゲットを設定します。

public ref class SpatialGestureRecognizer sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory, 131072, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SpatialGestureRecognizer final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory), 131072, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SpatialGestureRecognizer
function SpatialGestureRecognizer(settings)
Public NotInheritable Class SpatialGestureRecognizer
継承
Object Platform::Object IInspectable SpatialGestureRecognizer
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox で導入)
API contract
Windows.Foundation.UniversalApiContract (v2.0 で導入)

注釈

空間ジェスチャは、HoloLens などのMixed Reality ヘッドセットの主要な入力形式です。 SpatialInteractionManager からホログラムの SpatialGestureRecognizer に対話をルーティングすることで、アプリは手、音声、モーション コントローラー間で Tap、Hold、Manipulation、Navigation の各イベントを一様に検出できます。

ゲームパッド、キーボード、マウスからの入力に対して空間ジェスチャが検出されないことに注意してください。

SpatialGestureRecognizer は、要求した一連のジェスチャ間のあいまいさを最小限に抑えて実行します。 たとえば、タップのみを要求する場合、ユーザーは好きなだけ指を押し続ける可能性があり、タップが依然として発生します。 タップとホールドの両方を要求した場合、指を押したまま約 1 秒後にジェスチャが保留に昇格し、タップは行われなくなります。

SpatialGestureRecognizer を使用するには、SpatialInteractionManager の InteractionDetected イベントを処理し、そこで公開されている SpatialPointerPose を取得します。 このポーズからのユーザーの視線入力レイを使用して、ユーザーの周囲のホログラムやサーフェス メッシュと交差し、ユーザーが何を操作しようとしているかを判断します。 次に、CaptureInteraction メソッドを使用して、イベント引数の SpatialInteraction をターゲット ホログラムの SpatialGestureRecognizer にルーティングします。 これにより、作成時に認識エンジンに設定された SpatialGestureSettings または TrySetGestureSettings に従って、その相互作用の解釈が開始されます。

手のジェスチャ、モーション コントローラーの押下、音声操作などの空間相互作用を対象とする場合、アプリでは、操作の SpatialInteractionSource の性質に基づいて、対話式操作の SpatialPointerPose から使用可能なポインティング レイを選択する必要があります。

  • 操作ソースがポイントをサポートしていない場合 (IsPointingSupported が false の場合)、アプリはユーザーの視線入力に基づいてターゲットにする必要があります。 Head プロパティを使用して使用できます。
  • 相互作用ソースがポイントをサポートしている場合 (IsPointingSupported が true の場合)、アプリは、代わりに、 TryGetInteractionSourcePose メソッドを介して使用できるソースのポインターの姿勢に基づいてターゲットを設定できます。

その後、アプリは、選択したポインティング レイを独自のホログラムまたは空間マッピング メッシュと交差してカーソルをレンダリングし、ユーザーが操作しようとしているものを決定する必要があります。

視線入力とコミット入力モデル (特に HoloLens (第 1 世代) を使用するアプリケーションの場合、SpatialGestureRecognizer を使用して、'select' イベントの上に構築された複合ジェスチャを有効にすることができます。 SpatialInteractionManager からホログラムの SpatialGestureRecognizer に対話式操作をルーティングすることで、アプリは、押下と解放を手動で処理しなくても、手、音声、空間入力デバイスの間で、タップ、保持、操作およびナビゲーションのイベントを一様に検出できます。

コンストラクター

SpatialGestureRecognizer(SpatialGestureSettings)

指定したジェスチャ設定を使用して、新しい SpatialGestureRecognizer を初期化します。

プロパティ

GestureSettings

この認識エンジンの現在 の SpatialGestureSettings を取得します。

メソッド

CancelPendingGestures()

進行中のすべてのジェスチャを取り消し、キャプチャされた操作をすべて破棄します。

CaptureInteraction(SpatialInteraction)

指定した操作の一部として発生するすべての入力イベントを追跡します。

TrySetGestureSettings(SpatialGestureSettings)

この認識エンジンのジェスチャ設定の変更を試みます。

イベント

HoldCanceled

保留ジェスチャが取り消されたときに発生します。

HoldCompleted

保留ジェスチャが完了したときに発生します。

HoldStarted

相互作用が 保留 ジェスチャになると発生します。

ManipulationCanceled

操作ジェスチャが取り消されたときに発生します。

ManipulationCompleted

操作ジェスチャが完了したときに発生します。

ManipulationStarted

操作が 操作 ジェスチャになったときに発生します。

ManipulationUpdated

手の動きによって 操作 ジェスチャが更新されたときに発生します。

NavigationCanceled

ナビゲーション ジェスチャが取り消されたときに発生します。

NavigationCompleted

ナビゲーション ジェスチャが完了したときに発生します。

NavigationStarted

操作が ナビゲーション ジェスチャになったときに発生します。

NavigationUpdated

手またはモーション コントローラーの動きによって ナビゲーション ジェスチャが更新されたときに発生します。

RecognitionEnded

ジェスチャの完了または取り消しが原因でジェスチャ認識が終了したときに発生します (これが最後に発生するイベントです)。

RecognitionStarted

ジェスチャ認識が開始されると発生します (これが最初に発生するイベントです)。

Tapped

Tap または DoubleTap ジェスチャが認識されると発生します。

適用対象

こちらもご覧ください