Cadena de nombre
XR_ANDROID_mouse_interaction
Tipo de extensión
Extensión de la instancia
Número de extensión registrado
705
Revisión
1
Dependencias de extensiones y versiones
Fecha de última modificación
2024-09-06
Estado de la IP
No hay reclamos de IP conocidos.
Colaboradores
Sharayu Shenoy, Google
Chiara Coetzee, Google
Levana Chen, Google
Spencer Quin, Google
Descripción general
Esta extensión proporciona un XrPath
para obtener la entrada del mouse y define una posición de acción de uso general para los perfiles de mouse del usuario, incluidos los dispositivos de mouse y los dispositivos de panel táctil.
Esta extensión también presenta un nuevo perfil de interacción diseñado específicamente para que los dispositivos de mouse ingresen a través del sistema de acciones de OpenXR.
Pose de acción para interacciones con el mouse
La siguiente pose de acción (es decir, "apuntar") habilita un rayo de puntero 3D, ya sea que las entradas de seguimiento las proporcione un dispositivo de mouse o un dispositivo de panel táctil.
La subruta de acción …/input/aim/pose se admitirá en todos los perfiles de interacción que sean válidos para la ruta de acceso del usuario de /user/mouse, incluidos los perfiles de interacción habilitados a través de extensiones.
Posición de objetivo
…/input/aim/pose está diseñado para interactuar con objetos a través de un puntero del mouse en el espacio 3D. Por ejemplo, usar un puntero láser virtual para apuntar a un botón virtual en la pared es una interacción adecuada para la postura de "apuntar".
Esta es la misma postura de "apuntación" definida en Identificadores de posturas estándar. Cada perfil de controlador rastreado ya admite esta postura.
Posición
La posición de la postura de "apuntación" suele ser la cabeza del usuario, es decir, la misma posición de la cabeza cuando se detecta un movimiento del mouse. La posición de objetivo del mouse se calcula cuando hay un movimiento del mouse. La última posición de puntero conocida se mantendrá hasta el próximo movimiento del mouse.
Orientación
La orientación de la pose de "apuntar" puede usarse para renderizar un rayo de puntero 3D para interactuar con un objeto virtual, por ejemplo, hacer clic en un botón de menú en la pared.
La posición de objetivo del mouse se calcula cuando hay un movimiento del mouse. La última orientación de objetivo conocida se mantendrá hasta el próximo movimiento del mouse.
La dirección -Z es la dirección hacia delante del gesto de apuntar, es decir, hacia donde apunta el rayo de puntería.
El movimiento relativo en X e Y del mouse se usa para calcular el movimiento relativo del mouse a lo largo de una esfera alrededor de la cabeza del usuario.
El movimiento de profundidad se admitirá con el clic y el desplazamiento principales. Cuando se está realizando una acción para moverse en profundidad, la posición se compensa desde la posición de la cabeza en la dirección Z positiva o negativa a lo largo del rayo, según el valor de desplazamiento positivo o negativo. El sistema estabilizará el movimiento de profundidad dentro de la esfera alrededor de la cabeza del usuario.
El perfil de interacción para dispositivos de mouse
El perfil de interacción del mouse está diseñado para tiempos de ejecución que proporcionan entradas del mouse con dispositivos de mouse o panel táctil con botones y desplazamiento. Esto permite que los dispositivos de mouse y panel táctil proporcionen clics, desplazamiento y pose de acción de uso general al sistema de acciones de OpenXR.
Ruta del perfil de interacción:
- /interaction_profiles/android/mouse_interaction
Es válida para la ruta de acceso del usuario de nivel superior:
- /user/mouse
Rutas de componentes compatibles:
- …/input/aim/pose
- …/input/select/click
- …/input/secondary/click
- …/input/tertiary/click
- …/input/scroll/value
Este perfil de interacción admite la postura de acción que se describe en esta sección, así como los siguientes dos grupos de entradas de acción.
Acción de clic
Este perfil de interacción admite las acciones …/input/select/click, …/input/secondary/click y /input/tertiary/click.
…/input/select/click es una entrada booleana, en la que el valor XR_TRUE
indica que se presiona el botón principal del mouse o el panel táctil.
…/input/secondary/click es una entrada booleana, en la que el valor XR_TRUE
indica que se presiona el botón secundario del mouse o el panel táctil.
…/input/tertiary/click es una entrada booleana, en la que el valor XR_TRUE
indica que se presiona el botón terciario o se desplaza el mouse.
Acción de desplazamiento
Este perfil de interacción admite acciones …/input/scroll/value.
…/input/scroll/value es un componente de entrada 2D que varía de -1 a 1 para asignar el desplazamiento hacia abajo y hacia arriba.
Nuevos tipos de objetos
Nuevos tipos de marcas
Nuevas constantes de enum
Enumeraciones nuevas
Nuevas estructuras
Funciones nuevas
Problemas
Historial de versiones
- Revisión 1, 29 de agosto de 2024 (Levana Chen)
- Descripción inicial de la extensión