All Articles

Graphics/Unity

[MRTK] Custom Hand Input to MRTK TrackedHandJoint

진행

1. Quest 2와 MRTK 이용할때, Quest 2의 핸드트래킹과 글로브로 손가락 움직임을 추적하기로함.

2. Quest 2의 OVRHand, OVRSkeleton을 래핑하여 재구현

3. 글로브 손가락 데이터를 MRTK의 TrackedHandJoint 데이터로 바인딩

4. MRTK의 HandTrackingProfile을 수정하고 BaseHandVisualizer를 래핑하여 구현

 

자료 정리

MRTK 핸드트래킹 사용 시 생성되는 게임 오브젝트들
MS 공식 문서 상 TrackedHandJoint 설명

 

TrackedHandJoint Enum이 dll로 감싸져있는 듯하여 코드로 정리함

    public enum TrackedHandJoint
    {
        // 번호는 손가락 끝 부분에서부터 오름차순으로 지정함
        None  = 0,                  // 없음
        Wrist = 1,                  // 손목
        Palm  = 2,                  // 손바닥
        ThumbMetacarpalJoint = 3,   // 엄지의 3번째 조인트
        ThumbProximalJoint   = 4,   // 엄지의 2번째 조인트
        ThumbDistalJoint     = 5,   // 엄지의 1번째 조인트
        ThumbTip             = 6,   // 엄지 말단
        IndexMetacarpal      = 7,   // 검지의 4번째 조인트
        IndexKnuckle = 8,           // 검지의 3번째 조인트
        IndexMiddleJoint = 9,       // 검지의 2번째 조인트
        IndexDistalJoint = 10,      // 검지의 1번째 조인트
        IndexTip = 11,              // 검지 말단
        MiddleMetacarpal = 12,      // 중지의 4번째 조인트
        MiddleKnuckle = 13,         // 중지의 3번째 조인트
        MiddleMiddleJoint = 14,     // 중지의 2번째 조인트
        MiddleDistalJoint = 15,     // 중지의 1번째 조인트
        MiddleTip = 16,             // 중지 말단
        RingMetacarpal = 17,        // 약지 4번째 조인트
        RingKnuckle = 18,           // 약지 3번째 조인트
        RingMiddleJoint = 19,       // 약지 2번째 조인트
        RingDistalJoint = 20,       // 약지 1번째 조인트
        RingTip = 21,               // 약지 말단
        PinkyMetacarpal = 22,       // 새끼 4번째 조인트
        PinkyKnuckle = 23,          // 새끼 3번째 조인트
        PinkyMiddleJoint = 24,      // 새끼 2번째 조인트
        PinkyDistalJoint = 25,      // 새끼 1번째 조인트
        PinkyTip = 26               // 새끼 말단
    }

 

'Graphics > Unity' 카테고리의 다른 글

Unity GRPC  (0) 2022.01.17
DOTween Sequence 분리하기  (0) 2021.12.13
[Unity] 한글 폰트 적용 - NotoSansKR  (0) 2021.10.10