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 보조 시스템에서 생성한 메시를 씬에 추가할 수 있습니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.