Unity는 플러그인 프레임워크와 기능 및 툴 패키지 세트를 통해 XR 개발을 지원합니다.Project Settings의 XR Plug-in Management 카테고리로 이동하여 Unity 프로젝트의 XR 지원을 활성화하고 프로젝트가 지원하는 XR 플랫폼의 플러그인을 선택할 수 있습니다.추가 기능 패키지를 설치하려면 Unity 패키지 관리자를 사용하십시오.
다음 다이어그램은 현재 Unity XR 플러그인 프레임워크 구조와 플랫폼 공급자 구현과 함께 작동하는 방식을 보여줍니다.
XR 보조 시스템은 XR 기능에 대한 공통 인터페이스를 정의합니다.XR 플러그인은 이러한 보조 시스템 인터페이스를 구현하여 런타임 시 보조 시스템에 데이터를 제공합니다.XR 애플리케이션은 Unity 엔진 및 패키지 API를 통해 XR 기능에 대한 데이터에 액세스할 수 있습니다.
XR 공급자 플러그인은 하나 이상의 XR 기기 플랫폼을 지원하는 Unity 플러그인입니다.예를 들어 ARCore 플러그인은 핸드헬드 Android 기기에서 Android AR 플랫폼을 지원하는 반면, OpenXR 플러그인은 여러 운영체제에서 다양한 XR 기기를 지원합니다.
XR 공급자 플러그인은 Unity XR SDK에서 정의한 인터페이스를 구현합니다.이러한 인터페이스를 보조 시스템이라고 합니다.하나 이상의 보조 시스템을 구현하는 플러그인을 공급자 플러그인이라고 합니다. 일반적으로 공급자 플러그인은 기기 플랫폼의 기본 라이브러리를 사용하여 해당 기기에 대한 Unity 인터페이스를 구현합니다.
Unity는 보조 시스템 인터페이스를 사용하여 여러 플랫폼의 공급자와 커뮤니케이션하여 애플리케이션의 XR 기능을 강화합니다.이러한 인터페이스로 인해 해당 기능에 대한 공급자가 있는 모든 XR 기기에서 애플리케이션의 동일한 기능 코드를 재사용할 수 있습니다.
XR 보조 시스템은 Unity 앱에서 XR 기능에 대한 액세스를 제공합니다.Unity XR SDK는 기능을 구현하는 모든 공급자 플러그인이 앱에서 일반적으로 동일한 방식으로 작동하도록 보조 시스템의 공통 인터페이스를 정의합니다.플랫폼이 대체로 유사하다면 활성 공급자를 변경하고 앱을 다시 빌드하여 다른 XR 플랫폼에서 실행할 수 있습니다.
Unity 엔진은 기본적인 XR 보조 시스템 세트를 정의합니다.Unity 패키지는 추가 보조 시스템을 제공할 수 있습니다.예를 들어 AR Subsystems 패키지에는 여러 AR 전용 보조 시스템 인터페이스가 포함되어 있습니다.
Unity 엔진에 정의된 보조 시스템은 다음과 같습니다.
보조 시스템 | 설명 |
---|---|
Display | 스테레오 XR 디스플레이 |
Input | 공간 트래킹 및 컨트롤러 입력 |
Meshing | 환경 스캔에서 3D 메시를 생성합니다. |
참고:Unity 애플리케이션은 일반적으로 보조 시스템과 직접 상호작용하지 않습니다.대신 보조 시스템에서 제공하는 기능은 XR 플러그인 또는 패키지를 통해 애플리케이션에 노출됩니다.예를 들어 AR Foundation 패키지의 ARMeshManager 컴포넌트를 사용하면 Meshing 보조 시스템에서 생성한 메시를 씬에 추가할 수 있습니다.