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
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ę.
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.
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_TRUE
wskazują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