모션 컨트롤러
모션 컨트롤러는 사용자가 혼합 현실에서 작업을 수행할 수 있는 하드웨어 액세서리 입니다.
제스처에 비해 모션 컨트롤러의 장점은 컨트롤러가 공간에서 정확한 위치를 가지며 디지털 개체와의 세분화된 상호 작용을 허용한다는 것입니다. Windows Mixed Reality 몰입형 헤드셋의 경우 모션 컨트롤러는 사용자가 자신의 세계에서 조치를 취하는 기본 방법입니다.
이미지: Windows Mixed Reality 모션 컨트롤러
디바이스 지원
기능 | HoloLens(1세대) | HoloLens 2 | 몰입형 헤드셋 |
모션 컨트롤러 | ❌ | ❌ | ✔️ |
하드웨어 세부 정보
Windows Mixed Reality 모션 컨트롤러는 몰입형 헤드셋의 센서를 사용하여 시야에서 정확하고 반응형 이동 추적을 제공합니다. 공간의 벽에 하드웨어를 설치할 필요가 없습니다. 이러한 모션 컨트롤러는 Windows Mixed Reality 몰입형 헤드셋과 동일한 설정 및 이식성을 제공합니다. 우리의 장치 파트너는 이번 휴일에 소매 선반에서 이러한 컨트롤러를 마케팅하고 판매 할 계획입니다.
컨트롤러 알아보기
기능:
- 광학 추적
- 트리거
- 잡기 단추
- 엄지스틱
- 터치 패드
설치 프로그램
시작하기 전에
다음이 필요합니다:
- 두 개의 동작 컨트롤러 집합입니다.
- AA 배터리 4개.
- Bluetooth 4.0이 지원되는 PC.
Windows, Unity 및 드라이버 업데이트 확인
- 혼합 현실 개발을 위해 기본 버전의 Windows, Unity 등에 대한 도구 설치 를 참조하세요.
- 최신 헤드셋 및 모션 컨트롤러 드라이버가 있는지 확인합니다.
컨트롤러 페어링
모션 컨트롤러는 다른 Bluetooth 장치와 같은 Windows 설정을 사용하여 호스트 PC와 결합할 수 있습니다.
- 컨트롤러의 뒷면에 두 개의 AA 배터리를 삽입합니다. 지금은 배터리 커버를 끕니다.
- 기본 제공 Bluetooth 라디오 대신 외부 USB Bluetooth 어댑터를 사용하는 경우 계속하기 전에 Bluetooth 모범 사례를 검토하세요 . 기본 제공 라디오를 사용한 데스크톱 구성의 경우 안테나가 연결되어 있는지 확인합니다.
- Windows 설정 -디바이스 ->>Bluetooth 또는 기타 디바이스 추가 ->Bluetooth를 열고 "모션 컨트롤러 – 오른쪽" 및 "모션 컨트롤러 – 왼쪽"의 이전 인스턴스를 제거합니다. 목록 맨 아래에 있는 기타 디바이스 범주도 확인합니다.
- Bluetooth 또는 기타 장치 추가를 선택하고 Bluetooth 디바이스 검색을 시작하는 것을 확인합니다.
- 컨트롤러의 Windows 단추를 길게 눌러 컨트롤러를 켜고, 컨트롤러가 윙윙거리면 놓습니다.
- LED가 펄스하기 시작할 때까지 페어링 단추(배터리 칸의 탭)를 길게 누릅니다.
- "모션 컨트롤러 - 왼쪽" 또는 "모션 컨트롤러 - 오른쪽"이 목록 맨 아래에 표시되도록 기다립니다. 페어링하려면 선택합니다. 컨트롤러가 연결되면 한 번 진동합니다.
이미지: 페어링할 "모션 컨트롤러"를 선택합니다. 인스턴스가 여러 개 있는 경우 목록 아래쪽에서 하나를 선택합니다.
- "마우스, 키보드, & 펜" 범주의 Bluetooth 설정에 연결된 컨트롤러가 표시됩니다. 이 시점에서 펌웨어 업데이트를 받을 수 있습니다. 다음 섹션을 참조하세요.
- 배터리 커버를 다시 연결합니다.
- 두 번째 컨트롤러에 대해 1-9단계를 반복합니다.
두 컨트롤러를 성공적으로 페어링한 후 설정은 "마우스, 키보드, & 펜" 범주에서 다음과 같이 표시됩니다.
이미지: 연결된 모션 컨트롤러
페어링 후 컨트롤러가 꺼져 있으면 해당 상태 페어링됨으로 표시됩니다. "기타 디바이스" 범주에 영구적으로 속하는 컨트롤러의 경우 페어링이 부분적으로만 완료되었을 수 있습니다. 이 경우 페어링 단계를 다시 실행하여 컨트롤러 기능을 가져옵니다.
컨트롤러 펌웨어 업데이트
- 새로운 컨트롤러 펌웨어를 사용하여 몰입형 헤드셋을 PC에 연결하는 경우 다음에 켤 때 펌웨어가 자동으로 모션 컨트롤러에 푸시됩니다. 컨트롤러 펌웨어 업데이트는 원형 동작으로 LED 사분면을 조명하는 패턴으로 표시되며 1-2분이 걸립니다.
- 펌웨어 업데이트가 완료되면 컨트롤러가 다시 부팅되고 다시 연결됩니다. 이제 두 컨트롤러가 모두 연결되어야 합니다.
이미지: Bluetooth 설정에 연결된 컨트롤러
- 컨트롤러가 제대로 작동하는지 확인합니다.
- Mixed Reality 포털을 시작하고 Mixed Reality 홈을 입력합니다.
- 컨트롤러를 이동하고 추적을 확인하고, 단추를 테스트하고, 텔레포트가 작동하는지 확인합니다. 그렇지 않으면 동작 컨트롤러 문제 해결을 검사.
응시 및 가리키기
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, Thumbstick 및 Home입니다.
- Select 는 홀로그램을 활성화하는 기본 상호 작용으로, 누름과 릴리스로 구성됩니다. 모션 컨트롤러의 경우 컨트롤러의 트리거를 사용하여 Select press를 수행합니다. 선택을 수행하는 다른 방법은 음성 명령 "선택"을 말하는 것입니다. 모든 앱 내에서 동일한 선택 상호 작용을 사용할 수 있습니다. 선택 은 마우스 클릭에 해당하는 것으로 간주합니다. 한 번 학습한 다음 모든 앱에 적용하는 범용 작업입니다.
- 메뉴 는 상황에 맞는 메뉴를 끌어오거나 다른 보조 작업을 수행하는 데 사용되는 개체에서 동작하기 위한 보조 상호 작용입니다. 모션 컨트롤러를 사용하면 컨트롤러의 메뉴 단추를 사용하여 메뉴 작업을 수행할 수 있습니다. (즉, 햄버거 "메뉴" 아이콘이 있는 단추)
- 이해 는 사용자가 직접 자신의 손에 있는 개체에 대해 작업을 수행하여 조작할 수 있는 방법입니다. 모션 컨트롤러를 사용하면 주먹을 단단히 압박하여 손아귀 동작을 할 수 있습니다. 모션 컨트롤러는 잡기 단추, 손바닥 트리거 또는 기타 센서를 사용하여 손아귀를 감지할 수 있습니다.
- 터치 패드 를 사용하면 터치 패드를 클릭하여 동작을 커밋하여 모션 컨트롤러의 터치 패드 표면을 따라 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 단추를 눌러 홈으로 갈 수 있습니다. "안도 코타나, 홈으로 이동"이라고 말하면 언제든지 시작으로 돌아갈 수 있습니다. 앱은 시스템에서 처리하기 때문에 홈 작업에 특별히 반응할 수 없습니다.
복합 제스처: 상위 수준 공간 입력
손 제스처와 모션 컨트롤러는 시간이 지남에 따라 추적하여 일반적인 상위 수준 복합 제스처 집합을 검색할 수 있습니다. 이를 통해 앱은 사용자가 손 또는 컨트롤러를 사용하는지 여부에 관계없이 높은 수준의 탭, 길게 누르기, 조작 및 탐색 제스처를 검색할 수 있습니다.
모션 컨트롤러 모델 렌더링
3D 컨트롤러 모델 Windows는 앱에서 현재 시스템에서 활성 상태인 각 모션 컨트롤러의 렌더링 가능한 모델을 제공합니다. 앱이 런타임에 이러한 시스템 제공 컨트롤러 모델을 동적으로 로드하고 명확하게 표시하면 앱이 향후 컨트롤러 디자인과 전향적으로 호환되도록 할 수 있습니다.
모델의 원점이 실제 세계의 이 지점에 맞춰지므로 컨트롤러의 그립 포즈 에서 렌더링 가능한 모든 모델을 렌더링하는 것이 좋습니다. 컨트롤러 모델을 렌더링하는 경우 포인터 포즈에서 장면으로 레이캐스트할 수 있습니다. 이 포즈는 컨트롤러의 물리적 디자인을 고려할 때 사용자가 자연스럽게 가리키는 광선을 나타냅니다.
Unity에서 컨트롤러 모델을 동적으로 로드하는 방법에 대한 자세한 내용은 Unity 에서 모션 컨트롤러 모델 렌더링 섹션을 참조하세요.
2D 컨트롤러 라인 아트 앱 내 컨트롤러 모델 자체에 앱 내 컨트롤러 팁과 명령을 연결하는 것이 좋습니다. 일부 개발자는 플랫 "자습서" 또는 "방법" UI에서 모션 컨트롤러의 2D 라인 아트 표현을 사용할 수 있습니다. 이러한 개발자를 위해 아래의 흑백으로 .png 모션 컨트롤러 라인 아트 파일을 사용할 수 있도록 했습니다(저장하려면 마우스 오른쪽 단추를 클릭).
''white''의 전체 해상도 모션 컨트롤러 라인 아트
''black'의 전체 해상도 모션 컨트롤러 라인 아트
FAQ
모션 컨트롤러를 여러 PC에 페어링할 수 있나요?
모션 컨트롤러는 단일 PC와의 페어링을 지원합니다. 모션 컨트롤러 설정에 대한 지침에 따라 컨트롤러를 페어링합니다.
모션 컨트롤러 펌웨어를 업데이트할 어떻게 할까요? 있나요?
모션 컨트롤러 펌웨어는 헤드셋 드라이버의 일부이며 필요한 경우 연결에서 자동으로 업데이트됩니다. 펌웨어 업데이트는 일반적으로 Bluetooth 라디오 및 링크 품질에 따라 1-2분 정도 걸립니다. 드문 경우에서 컨트롤러 펌웨어 업데이트는 최대 10분이 걸릴 수 있으며, 이는 Bluetooth 연결 또는 무선 간섭이 좋지 않았음을 나타낼 수 있습니다. 연결 문제를 해결하려면 매니아 가이드의 Bluetooth 모범 사례를 참조하세요. 펌웨어 업데이트 후 컨트롤러가 다시 부팅되고 호스트 PC에 다시 연결됩니다(LED가 추적을 위해 밝아질 수 있음). 펌웨어 업데이트가 중단되면(예: 컨트롤러 전원이 손실됨) 다음에 컨트롤러 전원이 켜질 때 다시 시도됩니다.
배터리 잔량을 검사 수 있는 방법은 무엇인가요?
Windows Mixed Reality 홈에서 컨트롤러를 뒤집어 가상 모델의 반대쪽에서 배터리 잔량을 볼 수 있습니다. 물리적 배터리 수준 표시기가 없습니다.
헤드셋 없이 이러한 컨트롤러를 사용할 수 있나요? 조이스틱/트리거/기타 입력용인가요?
유니버설 Windows 애플리케이션용이 아닙니다.
문제 해결
매니아 가이드에서 모션 컨트롤러 문제 해결 을 참조하세요.
모션 컨트롤러 피드백/버그 제출
피드백 허브에서 "Mixed Reality -> 입력" 범주를 사용하여 피드백을 제공합니다.