Unity XR SDK 사용자 매뉴얼
목차
소개
Unity XR SDK는 Unity와 통합하여 자체 XR 공급자를 개발할 수 있는 기능을 제공합니다. 이 SDK를 이용해 사용자 애플리케이션은 런타임 중에 다양한 공급자를 선택하고 활성화할 수 있는 유연성을 지닙니다.
XR SDK 다운로드
XR SDK 패키지를 다운로드하려면 해당 페이지에서 등록이 필요합니다. 성공적으로 등록하면 다양한 백엔드 구현을 통해 Unity에서 하위 시스템 기능을 사용할 수 있습니다.
하위 시스템
하위 시스템은 다음과 같이 구성됩니다: - C# 인터페이스: 개발자에게 제공되는 프로그래밍 인터페이스 - 여러 백엔드: 공급자가 동적 라이브러리를 통해 구현하는 기본 인터페이스 - 공통 엔진 코드: C# 인터페이스 및 네이티브 인터페이스와 나머지 엔진 간의 통신을 처리합니다.
하위 시스템 기술자
하위 시스템 기술자는 하위 시스템을 로드하거나 초기화하기 전에 메타데이터 정보를 제공합니다. 이 데이터는 매니페스트 파일에서 가져오며, C# 인터페이스를 통해 접근 가능합니다.
하위 시스템 인스턴스
하위 시스템 기술자의 Create
메서드가 호출되면 하위 시스템 인스턴스가 생성됩니다. 이러한 인스턴스는 스크립팅 코드에서 하위 시스템과 통신하는 데 사용됩니다. 하위 시스템은 고유한 라이프사이클을 가집니다.
공급자
공급자는 하위 시스템의 기본 구현입니다. 하나의 하위 시스템은 여러 공급자를 가질 수 있으며, 일부 하위 시스템은 여러 공급자를 동시에 활성화할 수 있습니다.
공급자 다이어그램
공급자는 Unity 네이티브 플러그인 인터페이스를 준수하며, 추가 라이프사이클 지원이 가능합니다. 엔트리 포인트는 다음의 UnityPluginLoad
메서드입니다:
extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API
UnityPluginLoad(IUnityInterfaces* unityInterfaces)
{
// 코드 내용
}
예제 코드
간단한 XR 공급자 예제 코드를 아래와 같이 제공합니다:
// 기본적인 XR 공급자 등록
extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API
UnityPluginLoad(IUnityInterfaces* unityInterfaces)
{
s_XrDisplay = unityInterfaces->Get<IUnityXRDisplayInterface>();
// 라이프사이클 핸들러 등록
UnityLifecycleProvider displayLifecycleHandler =
{
NULL,
&Lifecycle_Initialize,
&Lifecycle_Start,
&Lifecycle_Stop,
&Lifecycle_Shutdown
};
s_XrDisplay->RegisterLifecycleProvider("Provider Plugin Name", "Display0", &displayLifecycleHandler);
// 기타 하위 시스템 등록...
}
추가 자료
Unity XR SDK에 대한 추가 정보나 커뮤니티 지원이 필요하시다면 Unity 포럼 또는 기술 자료를 방문하시기 바랍니다.