GameInput의 센서 기능은 Windows 센서 스택에 의존합니다. 디바이스가 이 센서 스택과 호환되도록 하려면 다음을 참조하세요.
유효성 검사:
좌표계
디바이스는 디바이스 가속을 Y업 오른손 시스템으로 보고해야 합니다. Angular 속도는 이러한 축에 대한 오른쪽 규칙을 따릅니다.
| 게임 패드 좌표계 | 핸드헬드 좌표계 |
|---|---|
|
|
X축은 디바이스 중앙에서 오른쪽으로 이동합니다. Y축은 디바이스 중앙에서 사용자의 얼굴로 이동합니다. Z축은 디바이스 중앙에서 아래쪽으로 이동합니다.
샘플 가속 출력(g:
- 테이블에 평평하게 놓는 장치: {0, 1, 0}
- Angular 속도는 {0, 0, 0}입니다.
- 여기에서 디바이스를 위쪽으로 들어 올립니다. {0, 2, 0} 증가
- 여기에서 디바이스 삭제: {0, 0, 0} 감소
- 위쪽 가장자리가 공기 중이고 아래쪽 가장자리가 표면에 있도록 디바이스 회전: {0, 0, -1}
- 움직이는 동안 각 속도 X는 긍정이 됩니다. {2, 0, 0}
- 플랫으로 돌아가기.
- 왼쪽 가장자리가 공기 중이고 오른쪽 가장자리가 표면에 있도록 디바이스 회전: {-1, 0, 0}
- 움직이는 동안 각 속도 Z는 음수가 됩니다. {0, 0, -2}
- 플랫으로 돌아가기.
- 디바이스를 시계 방향으로 회전(오른쪽 규칙 반대)
- 움직이는 동안 각 속도 Y는 음수가 됩니다. {0, -2, 0}
비고
디바이스 진동으로 인한 노이즈
디바이스에서 저주파 울림 또는 윙윙거리는 소리(예: 촉각으로 인한 소리)는 회전계 소음을 유발하고 정밀도에 영향을 줄 수 있습니다.
- 가능한 하드웨어 완화: 센서의 의도적인 배치를 통해 촉각에서 센서를 기계적으로 격리하거나 진동 댐핑 패딩 소재를 사용하는 주변 센서
- 가능한 소프트웨어 완화: 로우 패스 필터 사용
레지스트리 키
[! 중요] 디바이스가 Windows 하드웨어 품질 랩 인증을 통과해야 하는 경우 아래에 설명된 레지스트리 키를 추가합니다. GameInput은 디바이스의 WHQL 규격 출력을 게임 개발자의 예상 출력과 일치하도록 변환합니다.
VID(공급업체 ID) VVVV, PID(제품 ID) PPPP, 사용량 페이지 UUUU 및 사용량 ID XXXX 가 있는 디바이스에 대한 매핑은 레지스트리의 이 위치에서 읽습니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GameInput\Devices\VVVVPPPPUUUUXXXX
일반 사용 페이지(0x0001) 및 사용 ID 조이스틱(0x0004) 및 게임 패드(0x0005)만 지원됩니다.
| 값 이름 | 값 형식 | 필수? | Information | 값 |
|---|---|---|---|---|
| IsWhqlCertified | DWORD | 아니요 | GameInput에 원하는 좌표계와 일치하도록 WHQL 인증 디바이스의 센서 출력을 변환하도록 지시합니다. | 0, 1 |
[! TIP] 다음 하위 키는 이미 시장에 출시된 디바이스 제조업체를 위한 것입니다. 디바이스가 아직 릴리스되지 않은 경우 위에서 설명한 좌표계 를 올바르게 보고해야 하며 관련 테스트를 통과해야 합니다.
| 값 이름 | 값 형식 | 필수? | Information | 값 |
|---|---|---|---|---|
| SensorsAxisX | SZ | 아니요 | GameInput에 디바이스의 센서 보고서에서 X축을 가져와 값으로 표시된 축으로 레이블을 지정하도록 지시합니다. | X, Y, Z |
| SensorsAxisY | SZ | 아니요 | GameInput에 디바이스의 센서 보고서에서 Y축을 가져와 값으로 표시된 축으로 레이블을 지정하도록 지시합니다. | X, Y, Z |
| SensorsAxisZ | SZ | 아니요 | GameInput에 디바이스의 센서 보고서에서 Z축을 가져와 값으로 표시된 축으로 레이블을 지정하도록 지시합니다. | X, Y, Z |
| SensorsInvertAccelerationX | DWORD | 아니요 | GameInput에 X 축의 가속 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |
| SensorsInvertAccelerationY | DWORD | 아니요 | GameInput에 Y 축의 가속 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |
| SensorsInvertAccelerationZ | DWORD | 아니요 | GameInput에 Z 축의 가속 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |
| SensorsInvertAngularVelocityX | DWORD | 아니요 | GameInput에 X 축에 대한 각도 속도의 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |
| SensorsInvertAngularVelocityY | DWORD | 아니요 | GameInput에 Y 축에 대한 각도 속도의 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |
| SensorsInvertAngularVelocityZ | DWORD | 아니요 | GameInput에 Z 축에 대한 각도 속도의 기호를 반전하도록 지시합니다. 위의 축 변환 후에 적용됩니다. | 0, 1 |