플레이 영역 바운드 시각화하기

OpenXR을 사용하여 헤드 마운트 환경에서 사용자의 스테이지를 시각화합니다.

Choose your operating system:

Windows

macOS

Linux

디바이스에서 플레이 영역의 바운드, 즉 스테이지 를 지정할 수 있습니다. OpenXR API를 사용하여 언리얼 엔진에서 이러한 바운드에 액세스할 수 있습니다.

image alt text

Oculus 디바이스에서 사용자가 가까이 접근하면 Guardian 바운더리가 나타납니다.

이 페이지에서는 프로젝트에서 플레이 영역 바운드를 시각화하는 방법을 보여줍니다. 디바이스에서 플레이 영역 바운드를 구성하려면 해당 장비의 디바이스의 문서를 참조하세요.

Get Play Area Bounds

Get Play Area Bounds 함수는 플레이 영역 내부에서 찾을 수 있는 가장 큰 사각형의 길이를 반환합니다. 플레이 영역 바운드는 사용자가 바운더리에 가까이 접근하면 OpenXR 호환 런타임에 의해 시각화됩니다. 애플리케이션의 커스텀 시각화를 사용하여 사용자가 바운더리에 가까이 다가가면 사용자에게 이를 알리는 데에도 유용할 수 있습니다.

image alt text

Get Play Area Bounds 함수에는 반환할 수 있는 3개의 레퍼런스 스페이스가 있습니다. Eye Level , Floor LevelStage 입니다. 3개의 스페이스는 각각 OpenXR 레퍼런스 스페이스인 View , LocalStage 에 매핑됩니다. 대부분의 경우 Stage 레퍼런스 스페이스를 반환할 것을 권장합니다. OpenXR 레퍼런스 스페이스에 관한 자세한 정보는 OpenXR 사양을 참조하세요.

Get Play Area Bounds 함수에서 데이터를 반환하지 않는 경우 사용 중인 OpenXR 런타임에서 플레이 영역 바운드에 대한 OpenXR 기능이 구현되지 않았을 수 있습니다.

텔레포트 시각화

플레이 영역 바운드 시각화의 예시로 텔레포트 시각화가 있습니다. VR 템플릿은 텔레포트 도중 시각화 구현 기능을 제공합니다.

image alt text

텔레포트 시각화는 Content/VRTemplate/Blueprints 위치에 있는 블루프린트 VRTeleportVisualizer 에서 정의됩니다. 다음은 바운더리 시각화를 위한 로직의 설명입니다.

Begin Play 시:

  1. 블루프린트가 Stage 레퍼런스 스페이스를 사용하여 Get Play Area Bounds 를 호출합니다.

  2. 이후 블루프린트는 X 및 Y 데이터를 나이아가라 시스템 NS_PlayAreaBounds 의 사용자 변수에 할당합니다.

  3. NS_PlayAreaBounds는 Get Play Area Bounds에서 반환된 X 및 Y 값을 사용하여 사각형을 동적으로 드로합니다.

Tick 시:

  1. 블루프린트는 NS_TeleportRing 에서 정의한 텔레포트 위치에 상대적으로 NS_PlayAreaBounds를 이동합니다.

  2. 그 결과 텔레포트 이후 플레이 영역 바운드에 따라 플레이어의 위치가 정확하게 시각화됩니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.