기술 자료

Unity Engine

Unity Engine

Unity XR SDK

The XR SDK is no longer supported in Unity. Use OpenXR instead.
읽는 시간 2분최근 업데이트: 한 달 전

Unity XR SDK는 Unity와 함께 작동하는 자체 XR 공급자를 개발하려는 전문 사용자를 대상으로 합니다. XR SDK를 다운로드하려면 이 페이지에서 등록해야 합니다.
XR SDK 패키지를 통해 여러 백엔드(‘공급자’라고 함)가 Unity에서 단일 엔진 기능(‘하위 시스템’이라고 함)을 구현할 수 있습니다. 사용자 애플리케이션이 런타임 시 공급자를 선택하고 활성화할 수 있습니다.

하위 시스템

단일 하위 시스템은 다음으로 구성됩니다.
  • 개발자에게 표시되는 C# 인터페이스
  • 여러 백엔드(공급자)가 동적 라이브러리를 통해 구현하는 기본 인터페이스
  • C# 인터페이스, 네이티브 인터페이스, 나머지 엔진과의 통신을 처리하는 공통 엔진 코드

하위 시스템 다이어그램

하위 시스템 기술자

하위 시스템 기술자는 하위 시스템을 로드하거나 초기화하기 전에 검사할 수 있는 하위 시스템에 대한 메타데이터입니다. 이는 매니페스트 파일에서 비롯되며 C# 인터페이스를 통해 액세스할 수 있습니다.
Create
메서드는 하위 시스템을 활성화하고 사용자의 스크립트에 인스턴스를 제공합니다.
자세한 내용은 하위 시스템의 런타임 발견 및 활성화 페이지를 참조하십시오.

하위 시스템 인스턴스

하위 시스템 기술자에서
Create
가 호출되면 하위 시스템 인스턴스가 생성됩니다. 스크립팅 코드는 하위 시스템과 통신하기 위해 이러한 인스턴스와 상호 작용합니다. 하위 시스템에는 자체적인 수명 주기가 있으며 이를 시작, 중지, 종료할 수 있습니다.

공급자

공급자는 하위 시스템의 네이티브 구현입니다. 하나의 하위 시스템에는 여러 공급자가 있을 수 있습니다. 일부 하위 시스템은 여러 공급자가 한 번에 활성화되도록 허용할 수 있지만, 다른 하위 시스템은 상호 배타적일 수 있습니다.

공급자 다이어그램

공급자는 일부 추가 수명 주기 지원이 내장된 Unity 네이티브 플러그인 인터페이스를 준수합니다. 엔트리 포인트는
UnityPluginLoad
메서드입니다. 여기에서 공급자는 구현하려는 모든 하위 시스템에 등록해야 합니다.
extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_APIUnityPluginLoad(IUnityInterfaces* unityInterfaces){ s_XrDisplay = unityInterfaces->Get<IUnityXRDisplayInterface>(); UnityLifecycleProvider displayLifecycleHandler = { NULL, // This can be any object you want to be passed as userData to the following functions &Lifecycle_Initialize, &Lifecycle_Start, &Lifecycle_Stop, &Lifecycle_Shutdown }; s_XrDisplay->RegisterLifecycleProvider("Provider Plugin Name", "Display0", &displayLifecycleHandler); // Register with other subsystems...}