모션 컨트롤러

모션 컨트롤러는 사용자가 혼합 현실에서 작업을 수행할 수 있는 하드웨어 액세서리 입니다. 제스처보다 동작 컨트롤러의 장점은 컨트롤러가 공간에서 정확한 위치를 가지기 때문에 디지털 개체와의 세분화된 상호 작용을 허용한다는 것입니다. Windows Mixed Reality 몰입형 헤드셋의 경우 모션 컨트롤러는 사용자가 자신의 세계에서 조치를 취하는 주요 방법입니다.

이미지: Windows Mixed Reality 모션 컨트롤러

Windows Mixed Reality motion controllers



디바이스 지원

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

하드웨어 세부 정보

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

Get to know your controller
컨트롤러 알아보기

기능:

  • 광학 추적
  • 트리거
  • 잡기 단추
  • 엄지스틱
  • 터치 패드

설정

시작하기 전에

다음이 필요합니다:

  • 두 개의 동작 컨트롤러 집합입니다.
  • AA 배터리 4개.
  • Bluetooth 4.0이 지원되는 PC.

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

컨트롤러 페어링

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

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

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

Select Motion controller to pair, if multiple instances select one from appearing bottom of the list

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

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

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

Motion controllers connected

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

컨트롤러 펌웨어 업데이트

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

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

Controllers connected

  • 컨트롤러가 제대로 작동하는지 확인합니다.
    1. Mixed Reality 포털을 시작하고 Mixed Reality 홈을 입력합니다.
    2. 컨트롤러를 이동하고 추적을 확인하고, 단추를 테스트하고, 텔레포트 가 작동하는지 확인합니다. 그렇지 않은 경우 동작 컨트롤러 문제 해결을 확인합니다.

응시 및 가리키기

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

  • 응시 및 커밋을 통해 사용자는 응시를 사용하여 개체를 대상으로 지정한 다음 손 에어 탭, 게임 패드, 클릭커 또는 음성이 있는 개체를 선택합니다.
  • 지점 및 커밋을 사용하면 사용자가 대상 개체를 가리키는 동작 컨트롤러를 조준한 다음 컨트롤러의 트리거를 사용하여 개체를 선택할 수 있습니다.

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

가리키기 시 반동 관리

동작 컨트롤러를 사용하여 가리키고 커밋하는 경우 사용자는 컨트롤러를 사용하여 트리거를 끌어서 대상을 지정하고 상호 작용합니다. 트리거를 적극적으로 끌어오는 사용자는 트리거 풀이 끝날 때 의도한 것보다 높은 컨트롤러를 조준하게 될 수 있습니다.

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

그립 포즈와 포인팅 포즈

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

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

그립 포즈

그립 포즈는 HoloLens 감지한 손바닥이나 모션 컨트롤러를 들고 있는 손바닥의 위치를 나타냅니다.

몰입형 헤드셋에서 그립 포즈는 사용자의 손 이나 칼이나 총과 같은 사용자의 손에 들고 있는 물체를 렌더링하는 데 가장 적합합니다. 그립 포즈는 모션 컨트롤러에 대해 Windows 제공하는 렌더링 가능한 모델이 그립 포즈를 회전의 원점 및 중심으로 사용하기 때문에 모션 컨트롤러를 시각화할 때도 사용됩니다.

그립 포즈는 다음과 같이 특별히 정의됩니다.

  • 그립 위치: 컨트롤러를 자연스럽게 잡을 때 손바닥 중심, 그립 내의 위치를 가운데에 맞게 왼쪽 또는 오른쪽으로 조정합니다. Windows Mixed Reality 동작 컨트롤러에서 이 위치는 일반적으로 손아귀 단추에 맞춥니다.
  • 그립 방향의 오른쪽 축: 평평한 다섯 손가락 포즈를 형성하기 위해 손을 완전히 열면 손바닥에 정상적인 광선 (왼쪽 손바닥에서 앞으로, 오른쪽 손바닥에서 뒤로)
  • 그립 방향의 전방 축: 손을 부분적으로 닫을 때(컨트롤러를 들고 있는 것처럼) 엄지 손가락이 아닌 손가락으로 형성된 튜브를 통해 "앞으로" 가리키는 광선입니다.
  • 그립 방향의 위쪽 축: 오른쪽 및 정방향 정의에 내재된 위쪽 축입니다.

포인터 포즈

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

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

컨트롤러 추적 상태

헤드셋과 마찬가지로 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, Grasp, Touchpad, ThumbstickHome입니다.

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

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

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

모션 컨트롤러 모델 렌더링

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

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

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

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

Preview of motion controllers line art

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

''black'''의 풀 해상도 모션 컨트롤러 라인 아트

FAQ

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

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

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

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

배터리 잔량을 확인하려면 어떻게 해야 하나요?

Windows Mixed Reality 홈에서 컨트롤러를 뒤집어 가상 모델의 반대쪽에서 배터리 잔량을 확인할 수 있습니다. 물리적 배터리 잔량 표시기가 없습니다.

헤드셋 없이 이러한 컨트롤러를 사용할 수 있나요? 조이스틱/트리거/등 입력용으로만 사용하시겠습니까?

유니버설 Windows 애플리케이션용이 아닙니다.

문제 해결

매니아 가이드에서 모션 컨트롤러 문제 해결 을 참조하세요.

모션 컨트롤러 피드백/버그 제출

피드백 허브에서 "Mixed Reality -> 입력" 범주를 사용하여 피드백을 제공합니다.

추가 정보