Stringa del nome
XR_ANDROID_mouse_interaction
Tipo di estensione
Estensione dell'istanza
Numero di estensione registrato
705
Revisione
1
Dipendenze di estensioni e versioni
Data ultima modifica
2024-09-06
Stato IP
Nessuna rivendicazione IP nota.
Collaboratori
Sharayu Shenoy, Google
Chiara Coetzee, Google
Levana Chen, Google
Spencer Quin, Google
Panoramica
Questa estensione fornisce un XrPath
per ricevere l'input del mouse e definisce una posa di azione di uso comune per i profili del mouse dell'utente, inclusi i dispositivi mouse e i dispositivi trackpad.
Questa estensione introduce anche un nuovo profilo di interazione progettato appositamente per i dispositivi mouse da inserire tramite il sistema di azioni OpenXR.
Posa dinamica per le interazioni con il mouse
La seguente posa di azione ("mira") attiva un raggio del cursore 3D, indipendentemente dal fatto che gli input di monitoraggio siano forniti da un mouse o da un trackpad.
Il percorso secondario dell'azione …/input/aim/pose sarà supportato su tutti profili di interazione validi per il percorso utente /user/mouse, inclusi i profili di interazione abilitati tramite le estensioni.
Posizione di mira
…/input/aim/pose è progettato per interagire con gli oggetti tramite il cursore del mouse nello spazio 3D. Ad esempio, l'utilizzo di un cursore laser virtuale per puntare a un pulsante virtuale sulla parete è un'interazione adatta alla posa "mira".
Si tratta della stessa posa "spara" definita in Identificatori delle pose standard. Ogni profilo del controller monitorato supporta già questa posizione.
Posizione
La posizione della posa "mira" è in genere la testa dell'utente, ovvero la stessa posizione della testa quando viene rilevato un movimento del mouse. La posa di mira per il mouse viene calcolata quando si verifica un movimento del mouse. L'ultima posizione di mira nota rimarrà invariata fino al successivo movimento del mouse.
Orientamento
L'orientamento della posa "mira" potrebbe essere utilizzato per eseguire il rendering di un raggio del cursore 3D per interagire con un oggetto virtuale, ad esempio facendo clic su un pulsante di menu sulla parete.
La posa di mira per il mouse viene calcolata quando si verifica un movimento del mouse. L'ultimo orientamento noto dell'obiettivo verrà mantenuto fino al successivo movimento del mouse.
La direzione -Z è la direzione in avanti del gesto di mira, ovvero la direzione indicata dal raggio di mira.
Il movimento relativo X,Y del mouse viene utilizzato per calcolare il movimento relativo del mouse lungo una sfera attorno alla testa dell'utente.
Il movimento in profondità sarà supportato utilizzando i clic e lo scorrimento principali. Quando è in corso un'azione di movimento in profondità, la posizione è spostata rispetto alla posizione della testa nella direzione Z positiva o negativa lungo il raggio a seconda del valore di scorrimento positivo o negativo. Il sistema stabilirà il movimento della profondità all'interno della sfera attorno alla testa dell'utente.
Il profilo di interazione per i dispositivi mouse
Il profilo di interazione con il mouse è progettato per i runtime che forniscono input del mouse utilizzando dispositivi mouse o trackpad con pulsanti e scorrimento. In questo modo, i dispositivi mouse e trackpad possono fornire al sistema di azioni OpenXR clic, scorrimento e pose di azioni di uso comune.
Percorso profilo interazione:
- /interaction_profiles/android/mouse_interaction
Valido per il percorso utente di primo livello:
- /user/mouse
Percorsi dei componenti supportati:
- …/input/aim/pose
- …/input/select/click
- …/input/secondary/click
- …/input/tertiary/click
- …/input/scroll/value
Questo profilo di interazione supporta la posa dinamica descritta in questa sezione, nonché i seguenti due gruppi di input di azioni.
Azione di clic
Questo profilo di interazione supporta le azioni …/input/select/click, …/input/secondary/click e /input/tertiary/click.
…/input/select/click è un input booleano, in cui il valore XR_TRUE
indica che il pulsante principale del mouse o del trackpad è premuto.
…/input/secondary/click è un input booleano, in cui il valore XR_TRUE
indica che il pulsante secondario del mouse o del trackpad è premuto.
…/input/tertiary/click è un input booleano, in cui il valore XR_TRUE
indica che è stato premuto il tasto di scorrimento del mouse o il tasto terziario.
Azione di scorrimento
Questo profilo di interazione supporta le azioni …/input/scroll/value.
…/input/scroll/value è un componente di input 2D che varia da -1 a 1 per mappare scorrimento verso il basso e scorrimento verso l'alto.
Nuovi tipi di oggetti
Nuovi tipi di indicatori
Nuove costanti enum
Nuovi enum
Nuove strutture
Nuove funzioni
Problemi
Cronologia delle versioni
- Revisione 1, 29-08-2024 (Levana Chen)
- Descrizione iniziale dell'estensione