Rozszerzenie OpenXR XR_ANDROID_mouse_interaction

Ciąg znaków nazwy

XR_ANDROID_mouse_interaction

Typ rozszerzenia

Rozszerzenie instancji

Zarejestrowany numer wewnętrzny

705

Weryfikacja

1

Zależności rozszerzenia i wersji

OpenXR 1.0

Data ostatniej modyfikacji

2024-09-06

Stan adresu IP

Brak znanych roszczeń dotyczących adresu IP.

Twórcy

Sharayu Shenoy, Google

Chiara Coetzee, Google

Levana Chen, Google

Spencer Quin, Google

Omówienie

To rozszerzenie udostępnia XrPath do uzyskiwania danych o wskaźniku myszy i określa jedną często używaną pozycję do działania dla profili myszy użytkownika, w tym myszy i touchpadów.

W tym rozszerzeniu wprowadzamy też nowy profil interakcji zaprojektowany specjalnie pod kątem urządzeń z myszką, które mogą przesyłać dane za pomocą systemu działań OpenXR.

Pozycja akcji dla interakcji z myszką

Poniższa pozycja (np. „celowanie”) umożliwia wyświetlenie 3D promienia wskaźnika, niezależnie od tego, czy dane śledzenia są dostarczane przez mysz czy trackpad.

Podścieżka akcji …/input/aim/pose będzie obsługiwana we wszystkich profilach interakcji, które są prawidłowe dla ścieżki użytkownika /user/mouse, w tym w profilach interakcji włączonych za pomocą rozszerzeń.

Pozycja celu

Element …/input/aim/pose służy do interakcji z obiektami za pomocą kursora myszy w przestrzeni 3D. Na przykład użycie wirtualnego wskaźnika laserowego do celowania w wirtualny przycisk na ścianie to interakcja odpowiednia do pozycji „celowanie”.

Jest to ta sama poza „celowanie” zdefiniowana w identyfikatorach standardowych poz. Każdy profil kontrolera śledzonego już obsługuje tę pozę.

Przykładowa pozycja celowania

Pozycja

Pozycja „celowania” to zwykle głowa użytkownika, czyli ta sama pozycja głowy, gdy wykryto ruch myszy. Pozycja celowania myszy jest obliczana, gdy mysz się porusza. Ostatnia znana pozycja celownika będzie zachowana do następnego ruchu myszy.

Orientacja

Orientacja pozy „celowania” może służyć do renderowania 3D promienia wskaźnika, aby umożliwić interakcję z obiektem wirtualnym, np. kliknięcie przycisku menu na ścianie.

Pozycja celowania myszy jest obliczana, gdy mysz się porusza. Ostatnia znana orientacja celownika będzie zachowana do następnego ruchu myszy.

Kierunek –Z to kierunek do przodu gestu celowania, czyli kierunek, w którym zmierza promień celowania.

Ruch względny myszy w kierunku X i Y służy do obliczenia ruchu względnego myszy na sferze wokół głowy użytkownika.

Przykładowa pozycja celowania

Ruch w głąb będzie obsługiwany za pomocą kliknięcia i przewijania. Gdy trwa działanie polegające na przesuwaniu w głąb, pozycja jest przesunięta względem pozycji głowy w dodatnim lub ujemnym kierunku Z wzdłuż promienia w zależności od dodatniej lub ujemnej wartości przewijania. System stabilizuje ruch w głębi w kuli wokół głowy użytkownika.

Profil interakcji dla urządzeń z myszką

Profil interakcji z myszą jest przeznaczony do środowisk uruchomieniowych, które zapewniają dane wejściowe myszy za pomocą myszy lub urządzeń z touchpadem z przyciskami i rolką. Dzięki temu myszy i touchpady mogą przekazywać systemowi działań OpenXR kliknięcia, przewijanie i inne często używane gesty.

Ścieżka profilu interakcji:

  • /interaction_profiles/android/mouse_interaction

Dozwolone w przypadku ścieżki użytkownika na najwyższym poziomie:

  • /user/mouse

Obsługiwane ścieżki komponentów:

  • …/input/aim/pose
  • …/input/select/click
  • …/input/secondary/click
  • …/input/tertiary/click
  • …/input/scroll/value

Ten profil interakcji obsługuje postawę akcji opisaną w tej sekcji, a także 2 podgrupy danych wejściowych akcji.

Działanie po kliknięciu

Ten profil interakcji obsługuje działania …/input/select/click, …/input/secondary/click i /input/tertiary/click.

…/input/select/click to dane wejściowe typu logicznego, w których wartość XR_TRUE wskazuje, że wciśnięty jest główny przycisk myszy lub trackpada.

Parametr …/input/secondary/click to parametr typu logicznego, w którego wartości XR_TRUE wskazuje, że wciśnięty jest dodatkowy przycisk myszy lub trackpada.

Parametr …/input/tertiary/click to parametr typu logicznego, w którego wartości XR_TRUEwskazującej, że kółko myszy lub przycisk trzeciorzędowy jest wciśnięty.

Działanie związane z przewijaniem

Ten profil interakcji obsługuje działania …/input/scroll/value.

Parametr …/input/scroll/value to dwuwymiarowy komponent danych, który przyjmuje wartości od -1 do 1, aby odzwierciedlać przewijanie w dół i w górę.

Nowe typy obiektów

Nowe typy flag

Nowe stałe typu wyliczeniowego

Nowe wartości w polu enum

Nowe struktury

Nowe funkcje

Problemy

Historia wersji

  • Wersja 1, 29 sierpnia 2024 r. (Levana Chen)
    • Wstępny opis rozszerzenia