MRTK 패키지 - MRTK2
MRTK(Mixed Reality Toolkit)는 Mixed Reality 하드웨어 및 플랫폼에 대한 지원을 제공하여 플랫폼 간 Mixed Reality 애플리케이션 개발을 가능하게 하는 패키지 컬렉션입니다.
MRTK는 자산(.unitypackage) 패키지 및 Unity 패키지 관리자 통해 사용할 수 있습니다.
자산 패키지
MRTK 자산(.unitypackage)은 GitHub에서 다운로드할 수 있습니다.
자산 패키지를 사용할 경우의 이점 중 일부는 다음과 같습니다.
- Unity 2018.4 이상에서 사용 가능
- MRTK를 쉽게 변경할 수 있습니다.
- MRTK가 Assets 폴더에 있습니다.
몇 가지 과제는 다음과 같습니다.
- MRTK는 프로젝트의 Assets 폴더에 속하므로
- 대규모 프로젝트
- 느린 컴파일 시간
- 종속성 관리 없음
- 고객은 패키지 종속성을 수동으로 해결해야 합니다.
- 수동 업데이트 프로세스
- 여러 단계
- 큰(3000개 이상의 파일) 소스 제어 업데이트
- MRTK 변경 내용 손실 위험
- 예제 패키지를 가져오는 것은 일반적으로 모든 예제를 포함하는 것을 의미합니다.
사용 가능한 패키지는 다음과 같습니다.
이러한 패키지는 GitHub의 소스 코드에서 Microsoft에서 릴리스 및 지원됩니다.
Foundation 패키지
Mixed Reality Toolkit Foundation은 애플리케이션이 Mixed Reality Platforms에서 공통 기능을 활용할 수 있도록 하는 코드 집합입니다.
MRTK Foundation 패키지MRTK Foundation 패키지에는 다음이 포함됩니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/Core | 인터페이스 및 형식 정의, 기본 클래스, 표준 셰이더. | |
MRTK/코어/공급자 | 플랫폼에 구애받지 않은 데이터 공급자 | |
손 | 손 추적을 위한 기본 클래스 지원 및 서비스입니다. | |
InputAnimation | 헤드 이동 및 손 추적 데이터 기록을 지원합니다. | |
InputSimulation | 손 및 눈 입력의 편집기 내 시뮬레이션을 지원합니다. | |
ObjectMeshObserver | 3D 모델을 데이터로 사용하는 공간 인식 관찰자입니다. | |
UnityInput | Unity의 입력 API를 통해 구현되는 일반적인 입력 디바이스(조이스틱, 마우스 등) | |
MRTK/공급자 | 플랫폼별 데이터 공급자 | |
LeapMotion | UltraLeap Leap Motion 컨트롤러에 대한 지원. | |
OpenVR | OpenVR 디바이스에 대한 지원. | |
오큘러스 | Quest와 같은 오큘러스 디바이스에 대한 지원. | |
UnityAR | (실험적) 모바일 AR 디바이스에서 MRTK 사용을 사용하도록 설정하는 카메라 설정 공급자입니다. | |
WindowsMixedReality | Microsoft HoloLens 및 몰입형 헤드셋을 비롯한 Windows Mixed Reality 디바이스 지원 | |
Windows | Microsoft Windows 특정 API(예: 음성 및 받아쓰기)에 대한 지원 | |
XR SDK | (실험적) Unity 2019.3 이상에서 Unity의 새로운 XR 프레임워크 를 지원합니다. | |
MRTK/SDK | ||
Experimental | 셰이더, 사용자 인터페이스 컨트롤 및 개별 시스템 관리자를 비롯한 실험적 기능 | |
기능 | Foundation 패키지를 기반으로 하는 기능입니다. | |
프로필 | Microsoft Mixed Reality Toolkit 시스템 및 서비스에 대한 기본 프로필입니다. | |
StandardAssets | 공통 자산; 모델, 질감, 재질 등 | |
MRTK/SceneSystemResources | 장면 시스템에서 사용하는 자산 및 리소스 | |
MRTK/서비스 | ||
BoundarySystem | VR 경계 지원을 구현하는 시스템입니다. | |
CameraSystem | 카메라 구성 및 관리를 구현하는 시스템입니다. | |
DiagnosticsSystem | 애플리케이션 진단에서 시스템 구현(예: 시각적 프로파일러). | |
InputSystem | 사용자 입력 액세스 및 처리에 대한 지원을 제공하는 시스템입니다. | |
SceneSystem | 다중 장면 애플리케이션 지원을 제공하는 시스템입니다. | |
SpatialAwarenessSystem | 사용자 환경에 대한 인식을 지원하는 시스템입니다. | |
TeleportSystem | 원격 보고에 대한 지원을 제공하는 시스템(점프 환경에서의 이동). | |
MRTK/StandardAssets | 혼합 현실 환경을 위한 MRTK 표준 셰이더, 기본 재료 및 기타 표준 자산 |
확장 패키지
선택적 Microsoft.MixedRealityToolkit.Unity.Extensions 패키지에는 Microsoft Mixed Reality Toolkit의 기능을 확장하는 추가 서비스가 포함되어 있습니다.
참고 항목
확장 패키지에는 Microsoft.MixedRealityToolkit.Unity.Foundation이 필요합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/확장 | ||
HandPhysicsService | 굴절식 손에 물리학 지원을 추가하는 서비스입니다. | |
LostTrackingService | Microsoft HoloLens 디바이스에서 손실 추적 처리를 간소화하는 서비스입니다. | |
SceneTransitionService | 원활한 장면 전환 추가를 간소화하는 서비스입니다. |
도구 패키지
선택적 Microsoft.MixedRealityToolkit.Unity.Tools 패키지에는 Microsoft Mixed Reality Toolkit을 사용하여 혼합 현실 개발 환경을 향상시키는 유용한 도구가 포함되어 있습니다. 이러한 도구는 Unity 편집기에서 Mixed Reality Toolkit > 유틸리티 메뉴에 있습니다.
참고 항목
도구 패키지에는 Microsoft.MixedRealityToolkit.Unity.Foundation이 필요합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/도구 | ||
BuildWindow | UWP 애플리케이션을 빌드하고 배포하는 프로세스를 간소화하는 데 도움이 되는 도구입니다. | |
DependencyWindow | 프로젝트에 자산의 종속성 그래프 만드는 도구입니다. | |
ExtensionServiceCreator | 확장 서비스 만들기를 지원하는 마법사입니다. | |
MigrationWindow | 사용되지 않는 MRTK 구성 요소를 사용하는 코드를 업데이트하는 데 도움이 되는 도구입니다. | |
OptimizeWindow | Unity에서 최상의 성능을 위해 혼합 현실 프로젝트 구성을 자동화하는 데 도움이 되는 유틸리티입니다. | |
ReserializeAssetsUtility | 특정 Unity 파일의 재직렬화를 지원합니다. | |
RuntimeTools/Tools/ControllerMappingTool | 개발자가 하드웨어 컨트롤러에 대한 Unity 매핑을 신속하게 확인할 수 있도록 하는 유틸리티입니다. | |
ScreenshotUtility | Unity 편집기에서 애플리케이션 이미지를 캡처할 수 있습니다. | |
TextureCombinerWindow | 그래픽 텍스처를 결합하는 유틸리티입니다. | |
도구 상자 | MRTK UX 구성 요소를 쉽게 검색하고 사용할 수 있는 UI입니다. |
테스트 유틸리티 패키지
선택적 Microsoft.MixedRealityToolkit.TestUtilities 패키지는 개발자가 플레이 모드 테스트를 쉽게 만들 수 있도록 하는 도우미 스크립트의 컬렉션입니다. 이러한 유틸리티는 MRTK 구성 요소를 만드는 개발자에게 특히 유용합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/테스트 | ||
TestUtilities | 손 시뮬레이션 유틸리티를 포함하여 플레이 모드 테스트 생성을 간소화하는 방법입니다. |
예제 패키지
예제 패키지에는 기본 패키지에서 기능을 연습하는 데모, 샘플 스크립트 및 샘플 장면이 포함되어 있습니다. 이 패키지에는 다양한 유형의 손 입력(굴절식 및 비음식)에 응답하는 샘플 개체가 포함된 HandInteractionExample 장면(아래 그림)이 포함되어 있습니다.
이 패키지에는 여기에 설명된 시선 추적 데모도 포함되어 있습니다 .
더 일반적으로 MRTK의 모든 새 기능에는 예제 패키지의 해당 예제가 포함되어야 하며, 대략 동일한 폴더 구조와 위치를 따라야 합니다.
참고 항목
예제 패키지에는 Microsoft.MixedRealityToolkit.Unity.Foundation이 필요합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/예제 | ||
데모 | 하나 또는 두 개의 관련 기능을 보여 주는 간단한 장면입니다. | |
Experimental | 실험적 기능을 보여 주는 데모 장면입니다. | |
StandardAssets | 여러 데모 장면에서 공유하는 공통 자산입니다. |
Unity 패키지 관리자
Unity 2019.4 이상에서 만드는 환경의 경우 Unity 패키지 관리자 통해 MRTK를 사용할 수 있습니다.
자산 패키지를 사용할 경우의 이점 중 일부는 다음과 같습니다.
- 더 작은 프로젝트
- 더 클리너 Visual Studio 솔루션
- 체크 인할 파일 수가 줄어듭니다(MRTK는 파일의
Packages/manifest.json
간단한 참조).
- 더 빠른 컴파일
- Unity는 빌드하는 동안 MRTK를 다시 컴파일할 필요가 없습니다.
- 종속성 확인
- 필수 MRTK 패키지는 종속성이 있는 패키지를 지정할 때 자동으로 설치됩니다.
- 새 MRTK 버전에 대한 간편한 업데이트
- 파일의 버전
Packages/manifest.json
변경
- 파일의 버전
몇 가지 과제는 다음과 같습니다.
- MRTK는 변경할 수 없습니다.
- 패키지 확인 중에 제거하지 않고는 변경할 수 없습니다.
- MRTK는 Unity 2018.4에서 UPM 패키지를 지원하지 않습니다.
Foundation 패키지
기초 패키지(com.microsoft.mixedreality.toolkit.foundation
)는 Mixed Reality Toolkit의 기초를 형성합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/Core | 인터페이스 및 형식 정의, 기본 클래스, 표준 셰이더. | |
MRTK/코어/공급자 | 플랫폼에 구애받지 않은 데이터 공급자 | |
손 | 손 추적을 위한 기본 클래스 지원 및 서비스입니다. | |
InputAnimation | 헤드 이동 및 손 추적 데이터 기록을 지원합니다. | |
InputSimulation | 손 및 눈 입력의 편집기 내 시뮬레이션을 지원합니다. | |
ObjectMeshObserver | 3D 모델을 데이터로 사용하는 공간 인식 관찰자입니다. | |
UnityInput | Unity의 입력 API를 통해 구현되는 일반적인 입력 디바이스(조이스틱, 마우스 등) | |
MRTK/공급자 | 플랫폼별 데이터 공급자 | |
LeapMotion | UltraLeap Leap Motion 컨트롤러에 대한 지원. | |
OpenVR | OpenVR 디바이스에 대한 지원. | |
오큘러스 | Quest와 같은 오큘러스 디바이스에 대한 지원. | |
UnityAR | (실험적) 모바일 AR 디바이스에서 MRTK 사용을 사용하도록 설정하는 카메라 설정 공급자입니다. | |
WindowsMixedReality | Microsoft HoloLens 및 몰입형 헤드셋을 비롯한 Windows Mixed Reality 디바이스 지원 | |
Windows | Microsoft Windows 특정 API(예: 음성 및 받아쓰기)에 대한 지원 | |
XR SDK | (실험적) Unity 2019.3 이상에서 Unity의 새로운 XR 프레임워크 를 지원합니다. | |
MRTK/SDK | ||
Experimental | 셰이더, 사용자 인터페이스 컨트롤 및 개별 시스템 관리자를 비롯한 실험적 기능 | |
기능 | Foundation 패키지를 기반으로 하는 기능입니다. | |
프로필 | Microsoft Mixed Reality Toolkit 시스템 및 서비스에 대한 기본 프로필입니다. | |
StandardAssets | 공통 자산; 모델, 질감, 재질 등 | |
MRTK/서비스 | ||
BoundarySystem | VR 경계 지원을 구현하는 시스템입니다. | |
CameraSystem | 카메라 구성 및 관리를 구현하는 시스템입니다. | |
DiagnosticsSystem | 애플리케이션 진단에서 시스템 구현(예: 시각적 프로파일러). | |
InputSystem | 사용자 입력 액세스 및 처리에 대한 지원을 제공하는 시스템입니다. | |
SceneSystem | 다중 장면 애플리케이션 지원을 제공하는 시스템입니다. | |
SpatialAwarenessSystem | 사용자 환경에 대한 인식을 지원하는 시스템입니다. | |
TeleportSystem | 원격 보고에 대한 지원을 제공하는 시스템(점프 환경에서의 이동). |
종속성:
- 표준 자산(
com.microsoft.mixedreality.toolkit.standardassets
)
표준 자산
표준 자산 패키지(com.microsoft.mixedreality.toolkit.standardassets)
는 다음을 비롯한 모든 혼합 현실 환경에 권장되는 구성 요소의 컬렉션입니다.
- MRTK 표준 셰이더
- MRTK 표준 셰이더를 사용하는 기본 재질
- 오디오 파일
- Fonts
- 질감
- 아이콘
참고 항목
어셈블리 정의에 따른 호환성이 손상되는 변경을 방지하기 위해 MRTK 표준 셰이더의 일부 기능을 제어하는 데 사용되는 스크립트는 표준 자산 패키지에 포함되지 않습니다. 이러한 스크립트는 폴더의 기본 패키지에서 MRTK/Core/Utilities/StandardShader
찾을 수 있습니다.
종속성: 없음
확장 패키지
선택적 확장 패키지(MRTK의 기능을 확장하는 추가 구성 요소 포함)com.microsoft.mixedreality.toolkit.extensions)
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/확장 | ||
HandPhysicsService | 굴절식 손에 물리학 지원을 추가하는 서비스입니다. | |
LostTrackingService | Microsoft HoloLens 디바이스에서 손실 추적을 간소화하는 서비스입니다. | |
SceneTransitionService | 원활한 장면 전환 추가를 간소화하는 서비스입니다. | |
샘플~ | 샘플 장면 및 자산이 포함된 숨겨진(Unity 편집기) 폴더입니다. |
예제 프로젝트가 포함된 패키지를 사용하는 프로세스에 대한 자세한 내용은 Mixed Reality Toolkit 및 Unity 패키지 관리자 문서에서 확인할 수 있습니다.
종속성:
- Foundation(
com.microsoft.mixedreality.toolkit.foundation
)
도구 패키지
선택적 도구 패키지(com.microsoft.mixedreality.toolkit.tools)
혼합 현실 환경을 만드는 데 유용한 도구가 포함되어 있습니다. 일반적으로 이러한 도구는 편집기 구성 요소이며 해당 코드는 애플리케이션의 일부로 제공하지 않습니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/도구 | ||
BuildWindow | UWP 애플리케이션을 빌드하고 배포하는 프로세스를 간소화하는 데 도움이 되는 도구입니다. | |
DependencyWindow | 프로젝트에 자산의 종속성 그래프 만드는 도구입니다. | |
ExtensionServiceCreator | 확장 서비스 만들기를 지원하는 마법사입니다. | |
MigrationWindow | 사용되지 않는 MRTK 구성 요소를 사용하는 코드를 업데이트하는 데 도움이 되는 도구입니다. | |
OptimizeWindow | Unity에서 최상의 성능을 위해 혼합 현실 프로젝트 구성을 자동화하는 데 도움이 되는 유틸리티입니다. | |
ReserializeAssetsUtility | 특정 Unity 파일의 재직렬화를 지원합니다. | |
RuntimeTools/Tools/ControllerMappingTool | 개발자가 하드웨어 컨트롤러에 대한 Unity 매핑을 신속하게 확인할 수 있도록 하는 유틸리티입니다. | |
ScreenshotUtility | Unity 편집기에서 애플리케이션 이미지를 캡처할 수 있습니다. | |
TextureCombinerWindow | 그래픽 텍스처를 결합하는 유틸리티입니다. | |
도구 상자 | MRTK UX 구성 요소를 쉽게 검색하고 사용할 수 있는 UI입니다. |
종속성:
- Foundation(
com.microsoft.mixedreality.toolkit.foundation
)
테스트 유틸리티 패키지
선택적 테스트 유틸리티 패키지(com.microsoft.mixedreality.toolkit.testutilities
)에는 개발자가 플레이 모드 테스트를 쉽게 만들 수 있는 도우미 스크립트 컬렉션이 포함되어 있습니다. 이러한 유틸리티는 MRTK 구성 요소를 만드는 개발자에게 특히 유용합니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/테스트 | ||
TestUtilities | 손 시뮬레이션 유틸리티를 포함하여 플레이 모드 테스트 생성을 간소화하는 방법입니다. |
종속성:
- Foundation(
com.microsoft.mixedreality.toolkit.foundation
)
예제 패키지
예제 패키지(com.microsoft.mixedreality.toolkit.examples
)는 개발자가 관심 있는 예제만 가져올 수 있도록 구조화되어 있습니다.
예제 프로젝트가 포함된 패키지를 사용하는 프로세스에 대한 자세한 내용은 Mixed Reality Toolkit 및 Unity 패키지 관리자 문서에서 확인할 수 있습니다.
폴더 | 구성 요소 | 설명 |
---|---|---|
MRTK/예제 | ||
샘플~ | 샘플 장면 및 자산이 포함된 숨겨진(Unity 편집기) 폴더입니다. | |
StandardAssets | 여러 데모 장면에서 공유하는 공통 자산입니다. |
종속성:
- Foundation(
com.microsoft.mixedreality.toolkit.foundation
) - 확장 기능(
com.microsoft.mixedreality.toolkit.extensions
)