Bagikan melalui


SpatialGestureRecognizer Kelas

Definisi

Menafsirkan interaksi pengguna dari tangan, pengontrol gerakan, dan perintah suara sistem untuk menampilkan peristiwa gerakan spasial, yang ditargetkan pengguna menggunakan tatapan mereka atau sinar penunjuk pengontrol gerakan.

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
Warisan
Object Platform::Object IInspectable SpatialGestureRecognizer
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v2.0)

Keterangan

Gerakan spasial adalah bentuk kunci input untuk headset Mixed Reality seperti HoloLens. Dengan merutekan interaksi dari SpatialInteractionManager ke SpatialGestureRecognizer hologram, aplikasi dapat mendeteksi peristiwa Ketuk, Tahan, Manipulasi, dan Navigasi secara seragam di seluruh pengontrol tangan, suara, dan gerakan.

Perhatikan bahwa gerakan spasial tidak terdeteksi untuk input dari gamepad, keyboard, atau tikus.

SpatialGestureRecognizer hanya melakukan disambiguasi minimal antara serangkaian gerakan yang Anda minta. Misalnya, jika Anda meminta hanya Ketuk, pengguna dapat menahan jari mereka selama mereka suka dan Ketukan akan tetap terjadi. Jika Anda meminta Ketuk dan Tahan, setelah sekitar satu detik menahan jarinya, gerakan akan dipromosikan ke Penangguhan dan Ketuk tidak akan lagi terjadi.

Untuk menggunakan SpatialGestureRecognizer, tangani peristiwa InteractionDetected SpatialInteractionManager dan ambil SpatialPointerPose yang terekspos di sana. Gunakan sinar tatapan pengguna dari pose ini untuk bersinggungan dengan hologram dan jala permukaan di lingkungan pengguna, untuk menentukan apa yang ingin berinteraksi dengan pengguna. Kemudian, rutekan SpatialInteraction dalam argumen peristiwa ke SpatialGestureRecognizer hologram target, menggunakan metode CaptureInteraction-nya . Ini mulai menginterpretasikan interaksi tersebut sesuai dengan SpatialGestureSettings yang diatur pada pengenal tersebut pada waktu pembuatan atau oleh TrySetGestureSettings.

Saat menargetkan interaksi spasial, seperti gerakan tangan, tekan pengontrol gerakan, atau interaksi suara, aplikasi harus memilih sinar penunjuk yang tersedia dari SpatialPointerPose interaksi, berdasarkan sifat SpatialInteractionSource interaksi:

  • Jika sumber interaksi tidak mendukung penunjukan (IsPointingSupported salah), aplikasi harus menargetkan berdasarkan tatapan pengguna, tersedia melalui properti Head .
  • Jika sumber interaksi mendukung penunjuk (IsPointingSupported benar), aplikasi dapat menargetkan berdasarkan pose pointer sumber, tersedia melalui metode TryGetInteractionSourcePose .

Aplikasi kemudian harus berpotongan dengan sinar penunjuk yang dipilih dengan hologramnya sendiri atau dengan jala pemetaan spasial untuk merender kursor dan menentukan apa yang ingin berinteraksi dengan pengguna.

Untuk aplikasi yang menggunakan model input tatapan dan penerapan, terutama pada HoloLens (gen pertama), SpatialGestureRecognizer dapat digunakan untuk mengaktifkan gerakan komposit yang dibangun di atas peristiwa 'pilih'. Dengan merutekan interaksi dari SpatialInteractionManager ke SpatialGestureRecognizer hologram, aplikasi dapat mendeteksi peristiwa Ketuk, Tahan, Manipulasi, dan Navigasi secara seragam di seluruh perangkat input tangan, suara, dan spasial, tanpa harus menangani pers dan rilis secara manual.

Konstruktor

SpatialGestureRecognizer(SpatialGestureSettings)

Menginisialisasi SpatialGestureRecognizer baru dengan pengaturan gerakan yang ditentukan.

Properti

GestureSettings

Mendapatkan SpatialGestureSettings saat ini untuk pengenal ini.

Metode

CancelPendingGestures()

Membatalkan semua gerakan yang sedang berlangsung dan meninggalkan interaksi yang ditangkap.

CaptureInteraction(SpatialInteraction)

Lacak semua peristiwa input yang terjadi sebagai bagian dari interaksi yang ditentukan.

TrySetGestureSettings(SpatialGestureSettings)

Mencoba mengubah pengaturan gerakan untuk pengenal ini.

Acara

HoldCanceled

Terjadi saat gerakan Tahan dibatalkan.

HoldCompleted

Terjadi saat gerakan Tahan selesai.

HoldStarted

Terjadi ketika interaksi menjadi gerakan Penangguhan .

ManipulationCanceled

Terjadi ketika gerakan Manipulasi dibatalkan.

ManipulationCompleted

Terjadi ketika gerakan Manipulasi selesai.

ManipulationStarted

Terjadi ketika interaksi menjadi gerakan Manipulasi .

ManipulationUpdated

Terjadi ketika gerakan Manipulasi diperbarui karena gerakan tangan.

NavigationCanceled

Terjadi ketika gerakan Navigasi dibatalkan.

NavigationCompleted

Terjadi ketika gerakan Navigasi selesai.

NavigationStarted

Terjadi ketika interaksi menjadi gerakan Navigasi .

NavigationUpdated

Terjadi ketika gerakan Navigasi diperbarui karena gerakan pengontrol tangan atau gerakan.

RecognitionEnded

Terjadi ketika pengenalan gerakan berakhir, karena penyelesaian atau pembatalan gerakan (ini adalah peristiwa terakhir yang diaktifkan).

RecognitionStarted

Terjadi ketika pengenalan gerakan dimulai (ini adalah peristiwa pertama yang diaktifkan).

Tapped

Terjadi saat gerakan Ketuk atau DoubleTap dikenali.

Berlaku untuk

Lihat juga