OpenXR 입력

OpenXR 런타임은 가능한 한 많은 플랫폼을 지원하도록 컨트롤러 에뮬레이션을 제공하고, 컨트롤러와 핸드 포즈를 제공하여 몰입감 있는 인터랙션을 생성합니다.

Choose your operating system:

Windows

macOS

Linux

목차

OpenXR 런타임은 인터랙션 프로파일을 사용하여 다양한 하드웨어 컨트롤러를 지원하고 컨트롤러가 연결된 액션 바인딩을 제공합니다. 언리얼 엔진의 OpenXR 입력 매핑은 액션 매핑 입력 시스템을 활용하여 OpenXR 인터랙션 프로파일과 액션을 연결합니다. 액션 매핑 입력 시스템의 사용 방법에 관한 가이드는 새 입력 생성을 참조하세요.

OpenXR 입력 시스템은 언리얼 프로젝트의 액션 매핑(Action Mappings) 에서 명시적으로 지정되지 않은 컨트롤러 매핑을 에뮬레이트하여 크로스 디바이스 호환성을 제공합니다. 컨트롤러 매핑을 에뮬레이트할 때 OpenXR 런타임은 사용자의 컨트롤러와 근접하게 일치하는 컨트롤러 바인딩을 선택합니다. OpenXR이 크로스 호환성을 제공하기 때문에 지원하고 테스트할 수 있는 바인딩만을 추가해야 합니다. 컨트롤러에 대해 지정한 모든 바인딩은 해당 컨트롤러에 어떤 액션이 연결되는지 정의합니다. 컨트롤러에 바인딩을 부분적으로 적용하는 경우 컨트롤러가 누락된 바인딩을 지원하지 않습니다. 아래 예시에서는 프로젝트에 2개의 액션이 있습니다. 점프(Jump)픽업(Pickup) 입니다.

  • 점프(Jump)Vive Index (L) TriggerOculus Touch (L) Trigger 와 같은 여러 컨트롤러의 키에 매핑됩니다.

  • 픽업(Pickup)Valve Index (L) A Touch 에만 매핑됩니다. 이 경우 OpenXR 런타임은 픽업(Pickup) 액션에 대해 다른 컨트롤러를 에뮬레이트하지 않는데, 이러한 컨트롤러에 픽업 이 아닌 점프 에 대한 바인딩이 있기 때문입니다. 다른 컨트롤러의 키가 점프 에서 제거된 경우 OpenXR 런타임은 점프픽업 모두에 대해 컨트롤러를 에뮬레이트할 수 있습니다.

엔진 입력 액션 매핑 예시

일부 런타임은 단일 인터랙션 프로파일만을 지원하고 다른 프로파일을 에뮬레이트하지 못할 수 있습니다. 액세스할 수 있고 지원할 계획인 가급적 많은 디바이스에 대해 바인딩을 추가해야 합니다.

포즈

OpenXR은 2개의 포즈를 제공하여 액션을 수행할 때 사용자가 손을 잡는 방식을 나타냅니다.

  • 그립(Grip): 가상 오브젝트를 붙잡기 위해 사용자가 쥔 손의 위치와 방향을 나타냅니다.

  • 조준(Aim): 타깃을 가리키는 데 사용되는 사용자의 손 또는 컨트롤러로부터의 레이를 나타냅니다. 두 가지 포즈에 대한 자세한 정보는 OpenXR 사양을 참조하세요. 언리얼 엔진에서 이 2개의 포즈는 모션 소스로 표현되고 디바이스에서 사용 가능한 경우 Enumerate Motion Sources를 호출할 때의 결과에 반환됩니다.

언리얼 엔진은 OpenXR 사양에서 설명하는 것과는 다른 좌표 시스템을 사용합니다. 언리얼 엔진은 왼손 좌표 시스템을 사용합니다. +X 전방, +Z 상향, +Y 오른쪽.

OpenXRMsftHandInteraction 플러그인을 활성화하여 HoloLens와 같은 확장 플러그인을 지원하는 런타임에서의 추적되는 손의 OpenXR 그립 및 조준 포즈를 리플리케이트합니다. OpenXR 핸드 인터랙션 플러그인

태그