MRTK 모듈화 - MRTK2

Mixed Reality Toolkit v2의 새로운 기능 중 하나는 향상된 구성 요소화입니다. 가능한 경우 개별 구성 요소는 기초의 핵심 계층을 제외한 모든 계층에서 격리됩니다.

최소화된 종속성

MRTK v2는 의도적으로 모듈식으로 개발되었으며 시스템 서비스 간의 종속성을 최소화하기 위해 개발되었습니다(예: 공간 인식).

일부 시스템 서비스(예: 입력 및 텔레포트)의 특성으로 인해 적은 수의 종속성이 존재합니다.

서비스에는 하나 이상의 데이터 공급자 구성 요소가 필요하지만 둘 사이에는 직접 링크가 없습니다. SDK 기능(예: 사용자 인터페이스 구성 요소)에서도 마찬가지입니다.

구성 요소 통신

구성 요소 간에 직접 링크가 없도록 MRTK v2는 인터페이스를 활용하여 서비스, 데이터 공급자 및 애플리케이션 코드 간에 통신합니다. 이러한 인터페이스는 에 정의되며 모든 통신은 Mixed Reality Toolkit 핵심 구성 요소를 통해 라우팅됩니다.

인터페이스를 통해 공간 인식 시스템 사용

MRTK 가져오기 공간 최소화

현재 MRTK는 단일 Foundation 패키지로 가져옵니다(완전히 선택적 패키지인 예제 패키지의 존재는 잠시 무시됨). 가져온 파일을 수동으로 줄임으로써 이 공간을 더 작게 만들 수 있지만, 이는 잘 정의된 가이드가 없는 매우 수동적인 프로세스입니다.

Foundation 패키지를 가져오는 동안 임의의 항목을 선택 취소할 수 있습니다. 그러나 기능을 중단할 수 있으므로 개발 초기 단계에서는 이 작업을 수행하지 않는 것이 좋습니다. 앱의 최종 기능 집합을 파악한 후 다음 폴더에서 불필요한 공급자 및 서비스를 정리할 수 있습니다.

  • MRTK/서비스
  • MRTK/공급자
  • MRTK/SDK/기능

참고

MRTK v2.x 에는 Assets/MRTK/Core 폴더의 콘텐츠가 필요합니다.

예정된 기능

애플리케이션 아키텍처

MRTK는 다음을 비롯한 다양한 아키텍처를 사용하여 애플리케이션을 빌드할 수 있도록 지원합니다.

애플리케이션 아키텍처를 선택할 때는 디자인 유연성과 애플리케이션 성능을 고려하는 것이 중요합니다. 여기에 설명된 아키텍처는 모든 애플리케이션에 적합하지 않을 것으로 예상됩니다.

MixedRealityToolkit 서비스 로케이터

MRTK는 애플리케이션 장면에서 기본 MixedRealityToolkit 서비스 로케이터 구성 요소를 사용하도록 설정(및 자동으로 구성)합니다. 이 구성 요소에는 구성 검사기를 통해 MRTK 시스템 및 데이터 공급자를 구성하는 지원이 포함되며 구성 요소 수명 및 핵심 동작(예: 업데이트 시기)을 관리합니다.

모든 시스템은 프로젝트에 있는지 여부에 관계없이 핵심 구성 검사기에서 표시됩니다. 자세한 내용은 Mixed Reality 구성 가이드를 참조하세요.

개별 서비스 구성 요소

일부 개발자는 개별 서비스 구성 요소를 애플리케이션 장면 계층 구조에 포함하려는 의사를 표명했습니다. 이 사용을 사용하려면 서비스를 사용자 지정 등록 기관에 캡슐화하거나 자체 등록/자체 관리해야 합니다.

자체 등록 서비스는 애플리케이션 코드가 레지스트리를 IMixedRealityServiceRegistrar 통해 서비스 instance 검색할 수 있도록 를 구현하고 자체 등록합니다.

셀프 관리 서비스는 장면 계층 구조에서 싱글톤 개체로 구현될 수 있습니다. 이 개체는 애플리케이션 코드가 서비스 기능에 직접 액세스하는 데 사용할 수 있는 속성을 제공하고 instance.

사용자 지정 서비스 로케이터

일부 개발자는 사용자 지정 서비스 로케이터 구성 요소를 만드는 기능을 요청했습니다. 사용자 지정 서비스 로케이터는 인터페이스를 IMixedRealityServiceRegistrar 구현하고 활성 서비스의 수명 주기 및 핵심 동작을 관리합니다.

하이브리드 아키텍처

MRTK는 개발자가 필요하거나 원하는 대로 이전 접근 방식을 결합할 수 있는 하이브리드 아키텍처를 지원합니다. 예를 들어 개발자는 서비스 로케이터로 MixedRealityToolkit 시작하고 자체 등록 서비스를 추가할 수 있습니다.

참고

하이브리드 아키텍처를 선택할 때는 작업 중복(예: 여러 구성 요소에서 컨트롤러 데이터 가져오기)을 염두에 두어야 합니다.