SpatialGestureRecognizer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
手、モーション コントローラー、システム音声コマンドからのユーザー操作を解釈して空間ジェスチャ イベントを表示します。このイベントは、ユーザーが視線入力またはモーション コントローラーのポインティング レイを使用してターゲットを設定します。
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
- 継承
- 属性
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 ジェスチャが認識されると発生します。 |