Godot OpenXR Vendors 플러그인 v5.1
요약
Godot OpenXR Vendors 플러그인이 Godot 4.6 이상을 지원하는 v5.1 버전으로 업데이트되었습니다. 이번 업데이트는 Android XR의 벤더별 기능을 강화하는 데 중점을 두었으며, Trackables, 동적 해상도, 무제한 참조 공간 등 새로운 기능을 포함합니다.
핵심 포인트
- 최소 지원 버전을 Godot 4.6으로 상향하여 최신 기능을 활용할 수 있도록 개선되었습니다.
- Android XR 지원 강화를 위해 Trackables, 동적 해상도, 무제한 참조 공간 등의 기능을 추가했습니다.
- Direct Preview를 통한 스트리밍 클라이언트 자동 실행 기능으로 개발 반복 작업 시간을 단축했습니다.
- 클래스 이름 최적화 및 Meta 컬러 스페이스의 기본값을 Rec709로 변경하는 등 호환성 중단 사항이 포함되었습니다.
Godot OpenXR Vendors 플러그인은 Godot의 OpenXR 지원을 기반으로 구축된 공식 GDExtension이며, 주로 벤더(vendor)별 OpenXR 확장 기능(extensions)을 포함한 추가 기능을 제공합니다. 오늘 우리는 Asset Store, Asset Library 또는 GitHub 릴리스 페이지에서 다운로드할 수 있는 5.1 버전을 출시합니다. 이전 메이저 버전(v4)은 Godot 4.4 및 그 이후 버전에 대한 지원을 약속했기에, Godot 4.5 또는 4.6에서만 사용할 수 있는 기능들을 활용할 수 없었습니다. 따라서 v5 업그레이드의 중요한 부분은 최소 지원 버전을 Godot 4.6으로 높이는 것이었으며, 이를 통해 이전에는 불가능했던 기능들을 구현할 수 있게 되었습니다.
호환성 중단 사항 (Breaking changes)
메이저 버전 업그레이드로 인해 다음과 같은 호환성 중단 사항이 발생합니다:
- 매우 긴 일부 클래스 이름(예: OpenXRAndroidEnvironmentDepthExtensionWrapper)에서 불필요한 *Wrapper 접미사를 제거하여 조금 더 관리하기 쉬운 길이(예: OpenXRAndroidEnvironmentDepthExtension)로 이름을 변경했습니다.
- Godot 4.6은 이제 Android용 Khronos OpenXR 로더(loader)를 포함하므로, 이 플러그인에서는 해당 기능이 제거되었습니다.
- Meta의 컬러 스페이스 확장(color space extension)을 사용할 때 이제 Rec709가 기본 컬러 스페이스(color space)가 됩니다. 이는 우리가 오랫동안 수행하고 싶었던 개선 사항이었으나, 사용자들에게 혼란을 줄이기 위해 메이저 버전 업데이트를 기다려 왔습니다.
Android XR
최근 플러그인의 많은 개선 사항(v5뿐만 아니라 v4.2 및 v4.3 포함)은 Android XR의 벤더별 기능을 지원하는 데 집중되었습니다. 이는 상당 부분 2025년 11월에 발표된 Google, Godot Foundation, 그리고 W4 Games 간의 협업 덕분입니다. 이번 업그레이드에는 다음과 같은 새로운 기능이 포함됩니다:
- Trackables: 사용자가 있는 물리적 공간에 대한 정보를 제공합니다.
Android XR 또한 OpenXR 공간 엔티티 (spatial entities)를 지원하며, 이는 유사한 기능을 제공하지만 현재 Android XR 전용 트래커블 (trackables) 기능 중 일부는 멀티 벤더 공간 엔티티 (multi-vendor spatial entities)에서 아직 지원되지 않습니다. 동적 해상도 (Dynamic Resolution): 시스템 부하에 반응하여 렌더링 해상도를 동적으로 낮추며, 이를 통해 일관된 프레임 레이트를 유지하는 데 도움을 줍니다. 우리는 v4에서 Meta 헤드셋을 위해 유사한 기능을 구현한 바 있습니다. 무제한 참조 공간 (Unbounded Reference Space): 사용자가 시작 지점에서 수 미터 떨어진 복잡한 환경에서도 자유롭게 이동할 수 있도록 합니다. 스트리밍 클라이언트 자동 실행: Android XR의 Direct Preview 기능을 사용하면 데스크톱에서 XR 애플리케이션을 실행하고 이를 헤드셋으로 스트리밍할 수 있어, 더 빠른 반복 작업 (iteration) 시간을 확보할 수 있습니다. 이제 플러그인이 헤드셋에서 스트리밍 클라이언트를 자동으로 실행하여 이 과정을 더 쉽게 만들어 줍니다. 마우스 상호작용 (Mouse interaction): 전통적인 XR 컨트롤러와 유사한 방식으로 마우스 입력을 사용할 수 있게 합니다. 이러한 새로운 기능들을 보완하기 위해, 우리는 Google과 협력하여 Godot에서 Android XR용 애플리케이션을 개발하기 위한 문서, 가이드 및 샘플을 준비했습니다.
Android용 OpenXR 검증 레이어 (validation layers)
Khronos Group은 Godot가 OpenXR을 올바르게 사용하고 있는지 확인하기 위해 추가 검증을 수행할 수 있는 OpenXR용 검증 레이어를 제공합니다. 데스크톱에서 이를 활성화하는 것은 매우 쉽고, Khronos는 Windows 및 macOS용으로 미리 빌드된 바이너리도 제공합니다. 하지만 독립형 Android 기반 헤드셋에서 이를 활성화하는 것은 훨씬 까다롭습니다. 레이어를 직접 빌드해야 하며, 특수한 JSON 파일과 함께 특정 위치에 Godot 프로젝트로 수동 추가해야 합니다. Godot OpenXR Vendors 플러그인 버전 5는 OpenXR 검증 레이어용 Android 바이너리를 빌드하고 이를 Android 라이브러리 바이너리 (AAR)로 래핑함으로써 이 과정을 간소화합니다. 편의를 더하기 위해, 생성된 Android 라이브러리 바이너리 (AAR)는 Godot OpenXR Vendors 플러그인의 각 릴리스와 함께 MavenCentral에 업로드됩니다.
이를 통해 OpenXR Android 프로젝트는 OpenXR validation layers Android 라이브러리에 의존성 (dependency)을 추가함으로써 검증 레이어 (validation layers)를 쉽게 통합할 수 있습니다. Godot OpenXR Vendors 플러그인 v5로 빌드된 Godot 프로젝트의 경우, 내보내기 설정 (export settings)에서 체크박스를 클릭하기만 하면 됩니다! 이것이 대부분의 XR 개발자가 사용하는 기능은 아니겠지만, Godot과 플러그인이 OpenXR 사양 (spec)을 더 잘 준수하도록 개발할 수 있게 해주는 도구입니다.
메인 투영 레이어 (Projection Layer)에서의 Composition Layer 확장 기능 사용
이 플러그인은 OpenXRCompositionLayer 노드(및 그 자식 노드)에 기능을 추가하기 위해 여러 OpenXR 확장 기능 (extensions)을 사용할 수 있도록 합니다. 이 노드는 UI 패널이나 미디어를 렌더링하는 데 가장 자주 사용됩니다. Godot에 의해 렌더링되는 주요 3D 콘텐츠 또한 하나의 컴포지션 레이어, 즉 메인 투영 레이어 (main projection layer)와 연관되어 있습니다. 하지만 지금까지는 해당 레이어에서 이러한 확장 기능 중 어느 것도 구성할 수 없었습니다. v5.1에서 그 점이 바뀌었습니다! 이제 코드나 프로젝트 설정 (Project Settings)을 통해, OpenXRCompositionLayer 노드를 통해 사용할 수 있었던 것과 동일한 추가 구성을 메인 투영 레이어에서도 설정할 수 있습니다. 일부 헤드셋(특히 Meta 제품)의 경우, 이를 통해 XR_FB_composition_layer_depth_test 확장 기능을 사용하여 Godot에서 렌더링된 콘텐츠가 홀 펀칭 (hole punching, 투명 레이어에서는 사용할 수 없음)을 사용하지 않고도 다른 컴포지션 레이어의 앞이나 뒤에 올바르게 나타나도록 할 수 있습니다. 이는 커뮤니티에서 오랫동안 요청해 온 기능입니다.
데스크톱에서의 하이브리드 앱 (Hybrid App) 테스트
v4에서 우리는 완전 몰입형 (fully immersive) 모드와 플로팅 2D 패널 사이를 동적으로 전환할 수 있는 Android용 하이브리드 앱 지원을 추가했습니다. 하지만 개발자들은 헤드셋에 배포할 때만 테스트할 수 있었고, 데스크톱에서는 테스트할 수 없었습니다. v5에서는 데스크톱에서 하이브리드 앱 전환을 시뮬레이션할 수 있는 기능을 추가하여 반복 작업 속도 (iteration speed)를 높이는 데 도움을 줄 수 있습니다.
이 기사의 삽화 이미지는 전적으로 VR에서 제작되었으며 Meta 및 Android XR 헤드셋에서 이용 가능한 Expedition to Blobotopia에서 가져왔습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Godot Engine News의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기