Unity__ XR__XR은 VR(가상 현실), AR(증강 현실)과 MR(혼합 현실) 애플리케이션을 모두 포함하는 포괄적인 용어입니다. 이러한 형태의 인터랙티브 애플리케이션을 지원하는 기기를 XR 기기라고 합니다. 자세한 정보
See in Glossary SDK는 Unity와 함께 작동하는 자체 XR 공급자를 개발하려는 전문 사용자를 대상으로 합니다. XR SDK를 다운로드하려면 이 페이지에서 등록해야 합니다.
XR SDK 패키지를 통해 여러 백엔드(‘공급자’라고 함)가 Unity에서 단일 엔진 기능(‘하위 시스템’이라고 함)을 구현할 수 있습니다. 사용자 애플리케이션이 런타임 시 공급자를 선택하고 활성화할 수 있습니다.
단일 하위 시스템은 다음으로 구성됩니다.

하위 시스템 기술자는 하위 시스템을 로드하거나 초기화하기 전에 검사할 수 있는 하위 시스템에 대한 메타데이터입니다. 이는 매니페스트 파일에서 비롯되며 C# 인터페이스를 통해 액세스할 수 있습니다. Create 메서드는 하위 시스템을 활성화하고 사용자의 스크립트에 인스턴스를 제공합니다.
자세한 내용은 하위 시스템의 런타임 발견 및 활성화 페이지를 참조하십시오.
하위 시스템 기술자에서 Create가 호출되면 하위 시스템 인스턴스가 생성됩니다. 스크립팅 코드는 하위 시스템과 통신하기 위해 이러한 인스턴스와 상호 작용합니다. 하위 시스템에는 자체적인 수명 주기가 있으며 이를 시작, 중지, 종료할 수 있습니다.
공급자는 하위 시스템의 네이티브 구현입니다. 하나의 하위 시스템에는 여러 공급자가 있을 수 있습니다. 일부 하위 시스템은 여러 공급자가 한 번에 활성화되도록 허용할 수 있지만, 다른 하위 시스템은 상호 배타적일 수 있습니다.
공급자는 일부 추가 수명 주기 지원이 내장된 Unity 네이티브 플러그인 인터페이스를 준수합니다. 엔트리 포인트는 UnityPluginLoad 메서드입니다. 여기에서 공급자는 구현하려는 모든 하위 시스템에 등록해야 합니다.
extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API
UnityPluginLoad(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...
}