플랫폼 기능 검색 - MRTK2

MRTK에 대한 일반적인 질문은 애플리케이션을 실행하는 데 사용되는 특정 디바이스(예: Microsoft HoloLens 2)를 아는 것입니다. 정확한 하드웨어를 식별하는 것은 여러 플랫폼에서 어려울 수 있습니다. 대신 MRTK는 런타임에 특정 기능을 식별하는 방법을 제공합니다(예: 현재 디바이스 엔드포인트가 관절된 손을 지원하는 경우).

기능

Mixed Reality Toolkit 애플리케이션이 MixedRealityCapability 런타임에 쿼리할 수 있는 기능 집합을 정의하는 열거형을 제공합니다.

입력 시스템 기능

기본 MRTK 입력 시스템은 다음 기능 쿼리를 지원합니다.

기능 설명
ArticulatedHand 관절식 손 입력
EyeTracking 시선 응시 대상 지정
GGVHand 응시 제스처-음성 손 입력
MotionController 동작 컨트롤러 입력
VoiceCommand 앱 정의 키워드를 사용하는 음성 명령
VoiceDictation 음성 텍스트 받아쓰기

아래 예제 코드는 입력 시스템이 관절식 손을 지원하는 데이터 공급자를 로드했는지 확인합니다.

bool supportsArticulatedHands = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.InputSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsArticulatedHands = capabilityCheck.CheckCapability(MixedRealityCapability.ArticulatedHand);
}

공간 인식 기능

기본 MRTK 공간 인식 시스템은 다음 기능 쿼리를 지원합니다.

기능 설명
SpatialAwarenessMesh 공간 메시
SpatialAwarenessPlane 공간 평면
SpatialAwarenessPoint 공간 점

이 예제에서는 공간 인식 시스템이 공간 메시를 지원하는 데이터 공급자를 로드했는지 확인합니다.

bool supportsSpatialMesh = false;

IMixedRealityCapabilityCheck capabilityCheck = CoreServices.SpatialAwarenessSystem as IMixedRealityCapabilityCheck;
if (capabilityCheck != null)
{
    supportsSpatialMesh = capabilityCheck.CheckCapability(MixedRealityCapability.SpatialAwarenessMesh);
}

참조