다음을 통해 공유


GameInputHapticInfo

촉각 기능 및 메타데이터에 대해 설명합니다.

구문

constexpr uint32_t GAMEINPUT_HAPTIC_MAX_LOCATIONS              = 8;
constexpr uint32_t GAMEINPUT_HAPTIC_MAX_AUDIO_ENDPOINT_ID_SIZE = 256;

DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_NONE,          0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_GRIP_LEFT,     0x08c707c2, 0x66bb, 0x406c, 0xa8, 0x4a, 0xdf, 0xe0, 0x85, 0x12, 0x0a, 0x92);
DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_GRIP_RIGHT,    0x155a0b77, 0x8bb2, 0x40db, 0x86, 0x90, 0xb6, 0xd4, 0x11, 0x26, 0xdf, 0xc1);
DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_TRIGGER_LEFT,  0x8de4d896, 0x5559, 0x4081, 0x86, 0xe5, 0x17, 0x24, 0xcc, 0x07, 0xc6, 0xbc);
DEFINE_GUID(GAMEINPUT_HAPTIC_LOCATION_TRIGGER_RIGHT, 0xff0cb557, 0x3af5, 0x406b, 0x8b, 0x0f, 0x55, 0x5a, 0x2d, 0x92, 0xa2, 0x20);

struct GameInputHapticInfo
{
    wchar_t  audioEndpointId[GAMEINPUT_HAPTIC_MAX_AUDIO_ENDPOINT_ID_SIZE];
    uint32_t locationCount;
    GUID     locations[GAMEINPUT_HAPTIC_MAX_LOCATIONS];
};

멤버

audioEndpointId
형식: wchar_t

WASAPI 촉각 오디오 엔드포인트 식별자입니다.

locationCount
형식: uint32_t

촉각 위치의 수입니다.

locations
형식: GUID

촉각 위치 목록입니다.

비고

햅틱 사용 컨트롤러는 헤드폰 또는 데스크톱 스피커와 같은 범용 오디오 장치와 매우 유사합니다. Windows 오디오 시스템에 의해 구동됩니다. 구조를 GameInputHapticInfo 사용하면 특정 GameInput 디바이스와 촉각 오디오 엔드포인트를 일치시킬 수 있습니다. GetHapticInfo 메서드는 디바이스가 준비되었다고 보고하면 이 정보를 쿼리하는 데 사용할 수 있습니다.

audioEndpointIdWASAPI 또는 여러 상위 수준 오디오 API 중 하나를 통해 촉각 디바이스에 액세스하는 데 사용할 수 있는 엔드포인트 식별자 문자열입니다. 엔드포인트가 열리면 햅틱 파형을 디바이스로 스트리밍하기만 하면 됩니다.

기존 오디오 디바이스에는 프런트-왼쪽, 오른쪽 및 가운데와 같은 스피커에 대해 잘 정의된 위치가 있습니다. 디바이스가 서라운드 오디오 시스템 은유에 잘 매핑되지 않는 물리적 위치에서 촉각 피드백을 지원할 수 있으므로 촉각 컨트롤러의 상황은 더욱 미묘합니다. 기존 오디오 채널 인덱스를 촉각 위치에 맞게 조정하기 위해 디바이스별 매핑이 제공됩니다. 촉각 위치의 수는 촉각을 지원하는 컨트롤러의 경우 항상 0보다 큽니다. 위치 목록에는 오디오 채널 인덱스에 대한 1:1 매핑이 포함됩니다. 반복된 위치는 오디오 및 촉각 엔드포인트가 혼합된 엔드포인트에 대한 패딩으로 사용할 수 있는 를 제외하고 GAMEINPUT_HAPTIC_LOCATION_NONE허용되지 않습니다. 이를 설명하기 위해 아래 위치 목록을 살펴보겠습니다.

{ GAMEINPUT_HAPTIC_LOCATION_NONE, GAMEINPUT_HAPTIC_LOCATION_NONE, GAMEINPUT_HAPTIC_LOCATION_GRIP_LEFT, GAMEINPUT_HAPTIC_LOCATION_GRIP_RIGHT }

이 예제에서 채널 0과 1은 사용되지 않으며 채널 2와 3은 각각 왼쪽 그립과 오른쪽 그립에 매핑됩니다. 햅틱 위치 목록은 이후 버전의 GameInput에서 확장될 수 있습니다.

요구 사항

헤더: GameInput.h

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

GameInput 개요
GetHapticInfo
GameInput
엔드포인트 ID 문자열