핸드 코치

예: 손 코치

손 코치는 시스템이 사용자의 손을 감지하지 못할 때 3D 모델링된 손을 트리거합니다. 이 기능은 제스처가 학습되지 않은 경우 사용자를 안내하는 데 도움이 되는 "교육" 구성 요소입니다. 사용자가 특정 기간 동안 지정된 제스처를 수행하지 않은 경우 손은 지연으로 반복됩니다. 손 코치는 버튼을 누르거나 홀로그램을 따기 나타내는 데 사용할 수 있습니다.

손 코치 제공

현재 상호 작용 모델은 스크롤, 멀리 선택, 근거리 탭과 같은 다양한 제스처 컨트롤을 나타냅니다. 다음은 MRTK에서 제공되는 기존 손 제스처의 전체 목록입니다.

근거리 선택 예
근거리 선택의 예 - 사용됨 단추를 선택하거나 상호 작용 가능한 개체를 닫는 방법을 보여 줍니다.

에어 탭의 예
에어 탭의 예 - 멀리 떨어져 있는 개체를 선택하는 방법을 보여 주는 데 사용됩니다.

이동 예제
공간에서 개체 이동의 예- 공간에서 홀로그램을 이동하는 방법을 보여 주는 데 사용됩니다.

회전의 예
홀로그램 또는 개체를 회전하는 방법을 보여주는 Rotate-Used 예

배율의 예
배율의 예 - 홀로그램을 더 크거나 작게 조작하는 방법을 보여 줍니다.

손바닥 위로의 예
손 위로의 예 - 손 메뉴를 불러 오는 데 권장되는 사용

HandFlip의 예
손 대칭 이동의 예 - 손 메뉴를 가져오는 또 다른 방법

스크롤 예제
스크롤의 예 - 목록 또는 긴 문서를 스크롤하는 데 사용됩니다.

설계 개념

Hololens2의 경우 본능적이고 자연스러운 손 제스처를 기반으로 손 조작을 설계했습니다. 대부분의 사용자에게 직관적이라고 생각하므로 전용 제스처 학습 순간을 만들지 않았습니다. 대신 사용자가 홀로그램 상호 작용에 익숙하지 않거나 이러한 제스처에 대해 배울 수 있도록 손 코치를 만들었습니다. 학습 시간이 없으면 사용자에게 작업을 수행하는 방법을 보여 주는 것이 최선의 선택이라고 생각했습니다. 사용자가 제스처를 파악할 수 있었지만 약간의 지침이 필요했습니다. 사용자가 일정 기간 동안 개체와 상호 작용하지 않는 것을 감지하면 올바른 손과 손가락 배치를 보여 주는 손 코치가 트리거됩니다.

직관적인

손을 애니메이션할 때는 분명해야 하며 혼동을 일으키면 안 됩니다. 손 애니메이션은 사용자에게 이해하라는 메시지를 표시하려는 제스처의 표현입니다.

예를 들어 사용자가 단추를 누르도록 하려면 단추를 누르는 손이 트리거됩니다.

예: 손 코치 근거리 탭
보석을 두드리는 근처에서 시연하는 손 코치

손 크기 조정

우리는 UI 메뉴로 다양한 손 크기를 테스트하고 손이 크기에 충실하면 위협적인 느낌을 주었다고 느꼈습니다. 너무 작으면 제스처를 보고 이해하기가 어려웠습니다.

음성 및 손

사용자가 음성을 통해 하나의 지침을 듣고 손 코치를 통해 다른 지침을 watch 수 있다고 기대하지 마세요. 사용자가 감각 오버로드를 줄이기 위해 주의를 끌기 위해 집중하는 것과 경쟁하는 데 도움이 되도록 지침을 시퀀스합니다.

직접 만들 수 있나요?

예 게임에 대한 고유한 제스처를 만들고 커뮤니티에 다시 기여하는 것이 좋습니다! 앱에 사용할 수 있는 조작된 손의 Maya 파일을 제공했습니다. 다운로드 HandCoach_MRTK.zip

마야의 애니메이션 손 예
마야에서 상자를 찌르는 애니메이션의 예

권장되는 작성 도구

3D 아티스트 중 많은 사람들이 HoloLens를 사용하여 자산을 만드는 방식을 변환할 수 있는 Autodesk의 Maya를 사용하기 로 결정합니다. 제공된 핸즈 파일은 Maya 이진 파일이므로 Maya를 사용하여 손을 애니메이션하고 내보내는 것이 좋습니다. 다른 3D 프로그램을 사용하려면 다음과 같이 합니다 . FBX: HandCoachMRTK_FBX.zip 다운로드 하여 자체 컨트롤러 설정을 만듭니다.

제공된 다운로드 가능한 마야 핸드 파일을 사용하는 경우 손을 0.6으로 스케일 다운하는 것이 좋습니다.

예: 마야의 손 코치 장비
조작된 손

기술 사양

  • 양손 파일은 Maya Ascii 형식으로 제공됩니다.
  • 오른쪽 및 왼쪽은 Maya Binary 형식으로 사용할 수 있습니다.
  • Maya 파일을 24FPS로 설정
  • 파일 내에는 두 손 또는 한 손 제스처에 사용할 수 있는 왼쪽과 오른손이 있습니다. 오른손은 기본적으로만 표시됩니다.
  • 페이드를 위해 시작과 끝에 약 10 프레임의 버퍼를 두는 것이 좋습니다.
  • 지정된 대상을 사용하여 개체에 애니메이션 효과를 주는 경우 기본 상자 또는 Null에 애니메이션 효과를 주는 것이 가장 좋습니다.
  • 손이 상자와 같은 물리적 개체에 애니메이션 효과를 주는 경우 Maya에서 번역에 애니메이션 효과를 주는 것이 아니라 Unity 또는 Code에서 애니메이션 효과를 주는 것이 가장 좋습니다.
  • 의미 있는 정보를 전달하려면 표시 애니메이션이 1.5초여야 합니다.
  • 애니메이션에 만족하는 경우:

Maya에서 내보내기

애니메이션에 만족한 후

  • 모든 조인트 선택 > : 계층 선택

    예: 메뉴의 계층 구조

  • 애니메이션 베이킹: 애니메이션 > 키 > 베이킹 애니메이션으로 전환

    예: 애니메이션 메뉴 위치 베이킹

  • 컨트롤러 리그 삭제: 개요 > MainR_Grp 또는 MainL_Grp

    예: 컨트롤러 리그 메뉴 위치

  • FBX로 내보내기: JNT + 메시 선택: 파일 > 내보내기 선택 영역(옵션 상자) > 선택 영역 내보내기 선택

    예: 내보내기 선택 메뉴 위치

    예: 메뉴 위치

    예: 내보내기 옵션 메뉴 위치

FBX로 내보내고 Unity로 가져올 때 손을 0.6으로 축소합니다. 우리는 이것이 손을 표시하기위한 완벽한 균형이었다는 것을 발견했습니다.

예: Unity 설정
MRTK에 있는 HandCoach_R 프리팹에 대한 Unity 설정

Unity 프로젝트에 손 구현

모범 사례

  • 손을 0.6으로 축소하는 것이 좋습니다.

  • 손은 두 번 재생되어야하며 완료되지 않으면 제스처가 완료 될 때까지 계속 반복해야합니다. 사용자가 등록하고 제스처를 볼 시간이 있는지 확인하려면 손을 두 번 반복해야 합니다. 손은 루프 간에 페이드 인 및 페이드 아웃되어야 합니다.

  • 사용자의 손이 HL2 카메라로 표시되지만 사용자가 필요한 상호 작용을 수행하지 않는 경우 10초 후에 손이 나타납니다.

  • HL2 카메라에서 사용자의 손을 볼 수 없는 경우 5초 후에 손이 표시됩니다.

  • 애니메이션 중간에 있는 HL2 카메라에서 사용자의 손을 눈에 띄게 추적하면 애니메이션이 완료되고 페이드 아웃됩니다.

  • 음성을 포함하는 경우 손의 제스처에 해당하는 것이 좋습니다.

  • 손을 한 번 이상 가르친 경우 사용자가 멈춤이 감지된 경우에만 제스처를 반복합니다.

  • 특정 손가락/손 위치가 중요한 경우 사용자가 애니메이션에서 이러한 뉘앙스를 명확하게 볼 수 있는지 확인합니다. 가장 중요한 부분이 선명하게 보이도록 손을 낚아보세요.

  • 손에서 왜곡이 발견되면 Unity의 품질 설정으로 이동하여 뼈 수를 늘려야 합니다. Unity의 프로젝트 설정 > 편집 > 품질 > 기타 > 혼합 가중치로 이동합니다. 부드러운 관절을 보려면 "4개의 뼈"가 선택되어 있는지 확인합니다.

    예: 프로젝트 설정 창

피해야 할 사항

추가 정보