모션 컨트롤러


디바이스 지원

기능 HoloLens(1세대) HoloLens 2 몰입형 헤드셋
모션 컨트롤러 ✔️

하드웨어 세부 정보

Windows Mixed Reality 모션 컨트롤러는 몰입형 헤드셋의 센서를 사용하여 보기 필드에서 정확하고 반응형 이동 추적을 제공합니다. 공간의 벽에서 하드웨어를 설치할 필요가 없습니다. 이러한 모션 컨트롤러는 Windows Mixed Reality 몰입형 헤드셋과 동일한 설치 및 이식성을 제공합니다. 디바이스 파트너는 이번 휴일에 소매 매장에 이러한 컨트롤러를 출시하고 판매할 계획입니다.

컨트롤러 알아보기
컨트롤러 알아보기

기능:

  • 광학 추적
  • 트리거
  • 잡기 단추
  • Thumbstick
  • 터치 패드

설치 프로그램

시작하기 전에

다음이 필요합니다:

  • 두 개의 모션 컨트롤러 집합입니다.
  • AA 배터리 4개.
  • Bluetooth 4.0이 지원된 PC.

Windows, Unity 및 드라이버 업데이트 확인

컨트롤러 페어링

다른 Bluetooth 디바이스와 같은 Windows 설정을 사용하여 호스트 PC와 모션 컨트롤러를 결합할 수 있습니다.

  1. 컨트롤러의 뒤에 두 개의 AA 배터리를 삽입합니다. 지금은 배터리 덮개를 끄십시오.
  2. 기본 제공 Bluetooth 라디오 대신 외부 USB Bluetooth 어댑터를 사용하는 경우 계속하기 전에 Bluetooth 모범 사례를 검토하세요. 기본 제공 라디오가 있는 데스크톱 구성의 경우 안테나가 연결되어 있는지 확인합니다.
  3. Windows 설정 열기 - 디바이스 - Bluetooth 또는 기타 디바이스 추가 - "모션 컨트롤러 – 오른쪽" 및 "모션 컨트롤러 – 왼쪽"의 이전 인스턴스를 Bluetooth 제거합니다. 목록 맨 아래에서 다른 디바이스 범주도 확인합니다.
  4. Bluetooth 또는 기타 디바이스 추가를 선택하고 Bluetooth 디바이스 검색을 시작하는지 확인합니다.
  5. 컨트롤러의 Windows 단추를 길게 눌러 컨트롤러를 켜고, 일단 꺼지면 놓습니다.
  6. LED가 펄스되기 시작할 때까지 페어링 단추(배터리 구획의 탭)를 길게 누릅니다.
  1. "모션 컨트롤러 - 왼쪽" 또는 "모션 컨트롤러 - 오른쪽"이 목록의 맨 아래에 표시되기를 기다립니다. 페어링하려면 선택합니다. 연결되면 컨트롤러가 한 번 진동합니다.

    이미지: 페어링할 "모션 컨트롤러"를 선택합니다. 인스턴스가 여러 개 있는 경우 목록 맨 아래에서 하나를 선택합니다.

여러 인스턴스가 목록 아래쪽에 표시되는 인스턴스를 선택하는 경우 페어링할 모션 컨트롤러를 선택합니다.

  1. 컨트롤러가 "마우스, 키보드, 펜" 범주 아래의 Bluetooth 설정에 연결된로 표시됩니다. 이 시점에서 펌웨어 업데이트가 발생할 수 있습니다. 다음 섹션을참조하세요.
  2. 배터리 덮개를 다시 연결합니다.
  3. 두 번째 컨트롤러에 대해 1-9단계를 반복합니다.

두 컨트롤러를 성공적으로 페어링한 후 설정은 "마우스, 키보드, 펜" 범주에서 다음과 같이 표시됩니다.

이미지: 연결된 모션 컨트롤러

연결된 모션 컨트롤러

쌍을 이루는 후 컨트롤러가 꺼지면 해당 상태가 쌍으로 표시됩니다. "기타 디바이스" 범주에 영구적으로 속하는 컨트롤러의 경우 페어링이 부분적으로만 완료되었을 수 있습니다. 이 경우 페어링 단계를 다시 실행하여 컨트롤러 기능을 얻습니다.

컨트롤러 펌웨어 업데이트

  • 몰입형 헤드셋이 새 컨트롤러 펌웨어를 사용하여 PC에 연결된 경우 다음에 펌웨어를 켤 때 펌웨어가 자동으로 모션 컨트롤러에 푸시됩니다. 컨트롤러 펌웨어 업데이트는 원형 동작에서 LED 사분면을 조명하는 패턴으로 표시되며 1~2분이 걸립니다.
  • 펌웨어 업데이트가 완료되면 컨트롤러가 다시 부팅되고 다시 연결됩니다. 이제 두 컨트롤러가 모두 연결되어야 합니다.

    이미지: Bluetooth 설정에 연결된 컨트롤러

연결된 컨트롤러

디스어핑 및 포인팅

Windows Mixed Reality 상호 작용을 위한 두 가지 주요 모델을 지원합니다. 응시 및 커밋가리키기 및 커밋:

  • 응시 및 커밋을사용하면 사용자는 응시를통해 개체를 대상으로 지정한 다음, 손 에어 탭, 게임 패드, 클릭기 또는 음성이 있는 개체를 선택합니다.
  • 지점 및 커밋을사용하면 사용자는 대상 개체에서 포인팅 가능 모션 컨트롤러를 목표로 한 다음 컨트롤러의 트리거를 통해 개체를 선택할 수 있습니다.

모션 컨트롤러를 가리키도록 지원하는 앱은 가능한 경우 응시 기반 상호 작용을 사용하도록 설정하여 사용자가 사용하는 입력 디바이스를 선택할 수 있도록 해야 합니다.

가리킬 때 다시 인코일 관리

모션 컨트롤러를 사용하여 가리키고 커밋하는 경우 사용자는 컨트롤러를 사용하여 트리거를 끌어와 대상을 지정하고 상호 작용합니다. 트리거를 끌어오려는 사용자는 트리거 끌어오기의 끝에서 의도한 것보다 높은 컨트롤러를 목표로 할 수 있습니다.

사용자가 트리거를 끌어올 때 발생할 수 있는 이러한 리코일을 관리하기 위해 트리거의 아날로그 축 값이 0.0을 초과할 때 앱에서 대상 광선을 스냅할 수 있습니다. 그런 다음, 짧은 시간 내에 최종 누름이 발생하는 한 트리거 값이 1.0에 도달하면 나중에 몇 프레임의 광선을 대상으로 하는 작업을 수행할 수 있습니다. 상위 수준의 복합 탭 제스처를사용하는 경우 Windows 이 대상 광선 캡처 및 시간 초과를 관리합니다.

그립 자세와 포인팅 자세

Windows Mixed Reality 다양한 폼 팩터에서 모션 컨트롤러를 지원하며, 각 컨트롤러의 디자인은 사용자의 손 위치와 앱이 컨트롤러를 렌더링할 때 가리키는 데 사용해야 하는 자연스러운 "앞으로" 방향 간의 관계가 다릅니다.

이러한 컨트롤러를 더 잘 나타내기 위해 각 상호 작용 원본에 대해 조사할 수 있는 두 가지 종류의 자세가 있습니다. 그립 자세와포인터는 입니다.

그립 자세

그립 자세는 HoloLens 감지한 손의 손만 또는 모션 컨트롤러를 보유하는 손손의 위치를 나타냅니다.

몰입형 헤드셋에서 그립 자세는 사용자의 손 또는 사용자의 손을 잡고 있는 개체(예:난소 또는 총)를 렌더링하는 데 가장 적합합니다. 그립 자세는 모션 컨트롤러에 대해 Windows 제공하는 렌더링 가능한 모델이 그립 자세를 회전의 원점 및 중심으로 사용하므로 모션 컨트롤러를 시각화할 때도 사용됩니다.

그립 자세는 다음과 같이 구체적으로 정의됩니다.

  • 그립 위치:컨트롤러를 자연스럽게 보유할 때의 손만 중심으로, 그립 내의 위치를 가운데에 맞도록 왼쪽 또는 오른쪽으로 조정됩니다. Windows Mixed Reality 모션 컨트롤러에서 이 위치는 일반적으로 이해 단추에 맞춥니다.
  • 그립 방향의 오른쪽 축:손을 완전히 열어서 플랫 다섯 손가락 자세를 형성하면 손끝에 정상인 광선(왼쪽 손끝에서 앞으로, 오른쪽 손끝에서 뒤로)입니다.
  • 그립 방향의 앞으로 축:손을 부분적으로 닫을 때(컨트롤러를 보유하는 것처럼) 엄지 손가락이 아닌 손가락으로 형성된 선을 통해 "앞으로" 가리키는 광선입니다.
  • 그립 방향의 Up 축:오른쪽 및 앞으로 정의에 암시된 Up 축입니다.

포인터 자세

포인터 자세는 앞으로 가리키는 컨트롤러의 끝을 나타냅니다.

시스템 제공 포인터 자세는 컨트롤러 모델 자체를 렌더링할때 광선 캐스팅에 가장 적합합니다. 가상 총과 같은 컨트롤러 대신 다른 가상 개체를 렌더링하는 경우 앱에서 정의한 총 모델을 따라 이동하는 광선과 같이 해당 가상 개체에 가장 자연스러운 광선을 가리킵니다. 사용자는 실제 컨트롤러가 아닌 가상 개체를 볼 수 있으므로 가상 개체를 가리키는 것이 앱을 사용하는 사용자에게 더 자연스럽습니다.

컨트롤러 추적 상태

헤드셋과 마찬가지로 Windows Mixed Reality 모션 컨트롤러에는 외부 추적 센서를 설치할 필요가 없습니다. 대신 컨트롤러는 헤드셋 자체의 센서에 의해 추적됩니다.

사용자가 헤드셋의 보기 필드에서 컨트롤러를 이동하는 경우 대부분의 경우 Windows 컨트롤러 위치를 계속 유추하여 앱에 제공합니다. 컨트롤러가 오랫동안 시각적 추적을 손실한 경우 컨트롤러의 위치는 근사 정확도 위치로 떨어집니다.

이 시점에서 시스템은 내부 방향 센서를 사용하여 컨트롤러의 진정한 방향을 계속 노출하면서 사용자가 이동할 때 사용자의 위치를 추적하여 컨트롤러를 사용자에게 본문 잠금합니다. 컨트롤러를 사용하여 UI 요소를 가리키고 활성화하는 많은 앱은 사용자가 모르게 대략적인 정확도로 정상적으로 작동할 수 있습니다.


명시적으로 상태를 추적하는 이유

추적 상태에 따라 위치를 다르게 처리하려는 앱은 더 나아가서 컨트롤러의 상태(예: SourceLossRisk 및 PositionAccuracy)에서 속성을 검사할 수 있습니다.

추적 상태 SourceLossRisk PositionAccuracy TryGetPosition
높은 정확도 < 1.0 높음 true
높은 정확도(손실 위험) == 1.0 높음 true
대략적 정확도 == 1.0 근사치 true
위치 없음 == 1.0 근사치 false

이러한 모션 컨트롤러 추적 상태는 다음과 같이 정의됩니다.

  • 높은 정확도: 모션 컨트롤러는 헤드셋의 보기 필드 내에 있는 동안 일반적으로 시각적 추적을 기반으로 높은 정확도 위치를 제공합니다. 일시적으로 보기 필드를 벗어나거나 헤드셋 센서에서 일시적으로 가려지는 이동 컨트롤러(예: 사용자의 다른 손으로)는 컨트롤러 자체의 관성 추적에 따라 짧은 시간 동안 높은 정확도의 자세를 계속 반환합니다.
  • 높은 정확도(손실 위험): 사용자가 헤드셋의 보기 필드 가장자리를 지나 모션 컨트롤러를 이동하면 헤드셋은 곧 컨트롤러의 위치를 시각적으로 추적할 수 없습니다. 앱은 SourceLossRisk가 1.0에 도달하는 것을 확인하여 컨트롤러가 이 FOV 경계에 도달한 시기를 알고 있습니다. 이 시점에서 앱은 안정적인 고품질 자세 스트림이 필요한 컨트롤러 제스처를 일시 중지하도록 선택할 수 있습니다.
  • 대략적 정확도: 컨트롤러가 오랫동안 시각적 추적을 손실한 경우 컨트롤러의 위치는 근사 정확도 위치로 떨어집니다. 이 시점에서 시스템은 내부 방향 센서를 사용하여 컨트롤러의 진정한 방향을 계속 노출하면서 사용자가 이동할 때 사용자의 위치를 추적하여 컨트롤러를 사용자에게 본문 잠금합니다. 컨트롤러를 사용하여 UI 요소를 가리키고 활성화하는 많은 앱은 사용자가 모르게 대략적인 정확도로 정상적으로 작동할 수 있습니다. 입력 요구 사항이 더 많은 앱은 PositionAccuracy 속성을 검사하여 높은 정확도에서근사 정확도로 이 저하를 감지하도록 선택할 수 있습니다. 예를 들어 이 시간 동안 사용자에게 화면 끄기 대상에서 더 큰 적중 상자를 제공할 수 있습니다.
  • 위치 없음: 컨트롤러가 오랜 시간 동안 대략적인 정확도로 작동할 수 있지만, 시스템에서는 현재 본문이 잠긴 위치도 의미가 없다는 것을 알고 있습니다. 예를 들어 켜진 컨트롤러가 시각적으로 관찰되지 않았거나 사용자가 컨트롤러를 내려 놓은 다음 다른 사용자가 선택할 수 있습니다. 이 경우 시스템은 앱에 위치를 제공하지 않으며 TryGetPosition은 false를 반환합니다.

상호 작용: 낮은 수준의 공간 입력

손 및 모션 컨트롤러의 핵심 상호 작용은 Select, Menu, Hands, Touchpad,ThumbstickHome입니다.

  • Select는 홀로그램을 활성화하는 기본 상호 작용으로, 누른 후 릴리스로 구성됩니다. 모션 컨트롤러의 경우 컨트롤러의 트리거를 사용하여 Select press를 수행합니다. 선택을 수행하는 다른 방법은 음성 명령 "Select"를 말하는 것입니다. 모든 앱 내에서 동일한 선택 상호 작용을 사용할 수 있습니다. Select는 마우스 클릭과 같다고 생각하면 됩니다. 한 번 학습한 다음 모든 앱에 적용되는 범용 작업입니다.
  • 메뉴는 상황에 맞는 메뉴를 끌어오거나 다른 보조 작업을 수행 하는 데 사용 되는 개체에 대 한 작업에 대 한 보조 상호 작용입니다. 모션 컨트롤러를 사용하면 컨트롤러의 메뉴 단추를 사용하여 메뉴 작업을 할 수 있습니다. (즉, 햄버거 "메뉴" 아이콘이 있는 단추)
  • 이해는 사용자가 직접 개체에 대한 작업을 수행하여 조작할 수 있는 방법입니다. 모션 컨트롤러를 사용하면 스트링을 밀결로 묶어 파악 작업을 수행할 수 있습니다. 모션 컨트롤러는 잡기 단추, 손대기 트리거 또는 기타 센서를 통해 손아귀를 감지할 수 있습니다.
  • 터치 패드를 사용하면 사용자가 터치 패드를 클릭하여 작업을 커밋하여 동작 컨트롤러의 터치 패드 표면을 따라 2차원으로 작업을 조정할 수 있습니다. 터치 패드는 누른 상태, 터치된 상태 및 정규화된 XY 좌표를 제공합니다. X 및 Y의 범위는 순환 터치 패드의 범위에서 -1에서 1까지이며 중심은 (0, 0)입니다. X의 경우 -1은 왼쪽에, 1은 오른쪽에 있습니다. Y의 경우 -1은 아래쪽에 있고 1은 맨 위에 있습니다.
  • Thumbstick을 사용하면 원 범위 내에서 동작 컨트롤러의 엄지스틱을 이동하고 엄지스틱을 클릭하여 작업을 커밋하여 2차원으로 작업을 조정할 수 있습니다. 또한 썸틱은 누른 상태와 정규화된 XY 좌표를 제공합니다. X 및 Y의 범위는 순환 터치 패드의 범위에서 -1에서 1까지이며 중심은 (0, 0)입니다. X의 경우 -1은 왼쪽에, 1은 오른쪽에 있습니다. Y의 경우 -1은 아래쪽에 있고 1은 맨 위에 있습니다.
  • 홈은 시작 메뉴로 돌아가는 데 사용되는 특수 시스템 작업입니다. 키보드에서 Windows 키를 누르거나 Xbox 컨트롤러의 Xbox 단추를 누르는 것과 비슷합니다. 모션 컨트롤러에서 Windows 단추를 눌러 홈으로 돌아갈 수 있습니다. "Hey Cortana, Go Home"이라고 말하여 언제든지 Start로 돌아갈 수 있습니다. 앱은 특히 홈 작업에 반응할 수 없습니다. 이러한 작업은 시스템에서 처리되기 때문에 가능합니다.

복합 제스처: 상위 수준 공간 입력

손 제스처와 모션 컨트롤러는 모두 시간이 지남에 따라 추적하여 일반적인 상위 수준 복합 제스처 집합을 검색할 수 있습니다. 이렇게 하면 앱이 상위 수준 탭을감지하고, 사용자가 손 또는 컨트롤러를 사용하는지 여부에 관계없이 , 조작탐색 제스처를 보유할수 있습니다.

모션 컨트롤러 모델 렌더링

Windows 3D 컨트롤러 모델은 앱에서 현재 시스템에서 활성화된 각 모션 컨트롤러의 렌더링 가능한 모델을 제공합니다. 앱이 런타임에 이러한 시스템 제공 컨트롤러 모델을 동적으로 로드하고 명시하도록 하면 앱이 향후 컨트롤러 디자인과 정방향 호환되도록 할 수 있습니다.

모델의 원점이 실제 세계의 이 지점에 맞춰지기 때문에 렌더링 가능한 모든 모델을 컨트롤러의 그립 자세로 렌더링하는 것이 좋습니다. 컨트롤러 모델을 렌더링하는 경우 컨트롤러의 물리적 디자인을 고려할 때 사용자가 자연스럽게 가리키는 광선을 나타내는 포인터 자세에서장면으로 광선 캐스팅을 할 수 있습니다.

Unity에서 컨트롤러 모델을 동적으로 로드하는 방법에 대한 자세한 내용은 Unity에서 모션 컨트롤러 모델 렌더링 섹션을 참조하세요.

2D 컨트롤러 라인 아트 앱 내 컨트롤러 팁과 명령을 앱 내 컨트롤러 모델 자체에 연결하는 것이 좋습니다. 일부 개발자는 플랫 "자습서" 또는 "방법" UI에서 모션 컨트롤러의 2D 선 아트 표현을 사용할 수 있습니다. 이러한 개발자를 위해 .png 모션 컨트롤러 선 아트 파일을 아래의 검은색과 흰색으로 모두 사용할 수 있습니다(저장하려면 마우스 오른쪽 단추 클릭).

모션 컨트롤러 선 아트 미리 보기

'white'''의 전체 해상도 모션 컨트롤러 선 아트

'''black'''의 전체 해상도 모션 컨트롤러 선 아트

FAQ

모션 컨트롤러를 여러 PC에 페어링할 수 있나요?

모션 컨트롤러는 단일 PC와의 페어링을 지원합니다. 모션 컨트롤러 설정에 대한 지침에 따라 컨트롤러를 페어링합니다.

모션 컨트롤러 펌웨어를 업데이트할 어떻게 할까요? 있나요?

모션 컨트롤러 펌웨어는 헤드셋 드라이버의 일부이며 필요한 경우 연결에서 자동으로 업데이트됩니다. 펌웨어 업데이트는 일반적으로 Bluetooth 라디오 및 링크 품질에 따라 1-2분이 걸립니다. 드문 경우입니다. 컨트롤러 펌웨어 업데이트는 최대 10분이 걸릴 수 있으며, 이는 Bluetooth 연결 또는 무선 간섭을 나타낼 수 있습니다. 연결 문제를 해결하려면 매서드 가이드에서 Bluetooth 모범 사례를 참조하세요. 펌웨어 업데이트 후 컨트롤러가 다시 부팅되고 호스트 PC에 다시 연결됩니다(LED가 추적을 위해 밝아질 수 있음). 펌웨어 업데이트가 중단되면(예: 컨트롤러의 전원 손실) 다음에 컨트롤러 전원이 켜질 때 다시 시도됩니다.

배터리 수준을 확인하려면 어떻게 해야 합니까?

Windows Mixed Reality 에서 컨트롤러를 켜서 가상 모델의 반대쪽에서 배터리 수준을 볼 수 있습니다. 물리적 배터리 수준 표시기가 없습니다.

헤드셋 없이 이러한 컨트롤러를 사용할 수 있나요? 조이스틱/트리거/등의 입력만 있으면 됩니다.

유니버설 Windows 응용 프로그램에는 사용할 수 없습니다.

문제 해결

열성적인 가이드의 동작 컨트롤러 문제 해결 을 참조 하세요.

동작 컨트롤러 피드백/버그 파일링

"혼합 현실-입력" 범주를 사용 하 여 피드백 허브에 피드백을 제공 합니다.

참조

동작 컨트롤러는 사용자가 혼합 현실에서 작업을 수행할 수 있게 해 주는 하드웨어 액세서리 입니다. 제스처 를 통한 동작 컨트롤러의 이점은 컨트롤러의 공간이 정확 하 여 디지털 개체와의 세분화 된 상호 작용을 가능 하 게 하는 것입니다. Windows Mixed Reality 모던 헤드셋의 경우, 동작 컨트롤러는 사용자가 전 세계에서 작업을 수행 하는 기본 방법입니다.

이미지: Windows Mixed Reality 동작 컨트롤러

Windows Mixed Reality 동작 컨트롤러