XR_ANDROID_mouse_interaction OpenXR 확장 프로그램

이름 문자열

XR_ANDROID_mouse_interaction

확장 프로그램 유형

인스턴스 연장

등록된 부속 번호

705

버전

1

확장 프로그램 및 버전 종속 항목

OpenXR 1.0

최종 수정일

2024-09-06

IP 상태

알려진 IP 소유권 주장이 없습니다.

도움을 주신 분들

Sharayu Shenoy, Google

치아라 코체제, Google

레바나 첸, Google

스펜서 퀸, Google

개요

이 확장 프로그램은 마우스 입력을 가져오는 XrPath를 제공하고 마우스 기기와 트랙패드 기기를 모두 포함하여 사용자 마우스 프로필에 일반적으로 사용되는 하나의 작업 자세를 정의합니다.

또한 이 확장 프로그램은 마우스 기기가 OpenXR 작업 시스템을 통해 입력하도록 설계된 새로운 상호작용 프로필을 도입합니다.

마우스 상호작용의 액션 포즈

다음 작업 포즈 (예: '조준')는 추적 입력이 마우스 기기 또는 트랙패드 기기에서 제공되는지와 관계없이 3D 포인터 광선을 사용 설정합니다.

…/input/aim/pose 작업 하위 경로는 확장 프로그램을 통해 사용 설정된 상호작용 프로필을 비롯하여 /user/mouse의 사용자 경로에 유효한 모든 상호작용 프로필에서 지원됩니다.

조준 자세

…/input/aim/pose는 3D 공간에서 마우스 포인터를 통해 객체와 상호작용하도록 설계되었습니다. 예를 들어 가상 레이저 포인터를 사용하여 벽에 있는 가상 버튼을 조준하는 것은 '조준' 자세에 적합한 상호작용입니다.

이는 표준 포즈 식별자에 정의된 '조준' 포즈와 동일합니다. 추적된 모든 컨트롤러 프로필은 이미 이 포즈를 지원합니다.

조준 포즈 예시

위치

'조준' 포즈의 위치는 일반적으로 사용자의 머리입니다. 즉, 마우스 움직임이 감지될 때의 머리 위치와 동일합니다. 마우스의 조준 상태는 마우스 움직임이 있을 때 계산됩니다. 마지막으로 확인된 조준 위치는 다음 마우스 움직임까지 유지됩니다.

방향

'조준' 포즈의 방향은 3D 포인터 광선을 렌더링하여 가상 물체와 상호작용하는 데 사용될 수 있습니다(예: 벽에 있는 메뉴 버튼 클릭).

마우스 움직임이 있으면 마우스의 조준 상태가 계산됩니다. 마지막으로 알려진 조준 방향은 다음번 마우스 움직임까지 유지됩니다.

-Z 방향은 조준 동작의 전방 방향, 즉 조준 광선이 가리키는 방향입니다.

마우스의 상대 X,Y 움직임은 사용자의 머리 주위의 구체를 따라 마우스의 상대 움직임을 계산하는 데 사용됩니다.

조준 포즈 예시

기본 클릭 및 스크롤을 사용하여 깊이 이동이 지원됩니다. 심도 이동 작업이 진행 중일 때 위치는 스크롤 값이 양수인지 음수인지에 따라 광선을 따라 헤드 위치에서 양수 또는 음수 Z 방향으로 오프셋됩니다. 시스템은 사용자의 머리 주위 구체 내에서 깊이 움직임을 안정화합니다.

마우스 기기의 상호작용 프로필

마우스 상호작용 프로필은 버튼과 스크롤이 있는 마우스 기기 또는 트랙패드 기기를 사용하여 마우스 입력을 제공하는 런타임용으로 설계되었습니다. 이를 통해 마우스 기기와 트랙패드 기기가 흔히 사용되는 클릭, 스크롤, 작업 포즈를 OpenXR 작업 시스템에 제공할 수 있습니다.

상호작용 프로필 경로:

  • /interaction_profiles/android/mouse_interaction

최상위 사용자 경로에 유효합니다.

  • /user/mouse

지원되는 구성요소 경로:

  • …/input/aim/pose
  • …/입력/선택/클릭
  • …/input/secondary/click
  • …/input/tertiary/click
  • …/input/scroll/value

이 상호작용 프로필은 이 섹션에 설명된 작업 자세와 다음 두 가지 작업 입력 그룹을 지원합니다.

클릭 작업

이 상호작용 프로필은 …/input/select/click, …/input/secondary/click 및 /input/tertiary/click 작업을 지원합니다.

…/input/select/click은 불리언 입력으로, 값 XR_TRUE은 마우스 또는 트랙패드의 기본 버튼이 눌려 있음을 나타냅니다.

…/input/secondary/click은 불리언 입력으로, 값 XR_TRUE은 마우스 또는 트랙패드의 보조 버튼이 눌려 있음을 나타냅니다.

…/input/tertiary/click은 불리언 입력으로, 값 XR_TRUE은 마우스 스크롤 또는 서드 파티 버튼이 눌려졌음을 나타냅니다.

스크롤 작업

이 상호작용 프로필은 …/input/scroll/value 작업을 지원합니다.

…/input/scroll/value는 아래로 스크롤 및 위로 스크롤에 매핑하기 위해 -1과 1 사이에서 값이 변하는 2D 입력 구성요소입니다.

새로운 객체 유형

새로운 신고 유형

새로운 enum 상수

새로운 enum

새로운 구조

새로운 함수

문제

버전 기록

  • 버전 1, 2024년 8월 29일 (레바나 첸)
    • 초기 확장 프로그램 설명