공간 매핑의 일반적인 문제 해결
Windows 혼합 현실 입력

Unity XR 입력(Unity XR Input)

여기에서는 가상 현실, 증강 현실 및 혼합 현실 애플리케이션에서 상호작용하기 위해 사용되는 모든 Unity 지원 입력 기기에 대한 정보를 제공합니다.

XR 입력 매핑

You can access XR input features via the legacy input axis and button indices. This table outlines what each feature maps to on each platform. For information about how to use the button/joystick axes, see documentation on Conventional game input.

기능 사용 기능 유형 레거시 입력 인덱스[L/R] WMR Oculus GearVR Daydream OpenVR (Full) Vive OpenVR (Oculus) OpenVR (WMR)
Primary2DAxis 2D 축 [(1,2)/(4,5)] 조이스틱 조이스틱 조이스틱 터치패드 [트랙패드/조이스틱] 트랙패드 조이스틱 조이스틱
트리거 [9/10] 트리거 트리거 트리거 트리거 트리거 트리거 트리거 트리거
그립 [11/12] 그립 그립 그립 그립 그립 그립 그립
IndexTouch [13/14] 검지 - 인접 터치
ThumbTouch [15/16] 엄지 - 인접 터치
Secondary2DAxis 2DAxis [(17,18)/(19,20)] 터치패드 터치패드
IndexFinger [21/22] 검지
MiddleFinger [23/24] 중지
RingFinger [25/26] 약지
PinkyFinger [27/28] 소지
CombinedTrigger [3/3] CombinedTrigger 연결 트리거 연결 트리거 연결 트리거 연결 트리거 연결 트리거
PrimaryButton 버튼 [2/0] [X/A] 기본 기본 기본 [Y/B] 메뉴
PrimaryTouch 버튼 [12/10] [X/A] - 터치
SecondaryButton 버튼 [3/1] [Y/B] 대체 대체 [B/A]
SecondaryTouch 버튼 [13/11] [Y/B] - 터치
GripButton 버튼 [4/5] 그립 - 누르기 그립 - 누르기 그립 - 누르기 그립 - 누르기 그립 - 누르기 그립 - 누르기 그립
TriggerButton 버튼 [14/15] 트리거 - 누르기 검지 - 터치 트리거 - 누르기 트리거 - 누르기 트리거 - 누르기 트리거 - 누르기 트리거 - 터치 트리거 - 누르기
MenuButton 버튼 [6/7] 메뉴 시작 (6)
Primary2DAxisClick 버튼 [8/9] 조이스틱 - 클릭 썸스틱 - 클릭 터치패드 - 클릭 터치패드 - 클릭 StickOrPad - 누르기 StickOrPad - 누르기 StickOrPad - 누르기 터치패드 - 클릭
Primary2DAxisTouch 버튼 [16/17] 터치패드 - 클릭 썸스틱 - 터치 터치패드 - 터치 터치패드 - 터치 StickOrPad - 터치 StickOrPad - 터치 StickOrPad - 터치 터치패드 - 터치
Thumbrest 버튼 [18/19] 터치패드 - 터치 ThumbRest - 터치

레거시 입력 시스템을 통한 XR 입력

You can poll XR input features via the legacy input system, using the appropriate legacy input indices from the table above. Create an axis mapping in Edit > Settings > Input to add the appropriate mapping from the input name to the axis index for the platform device’s feature. The button or axis value can be retrieved with Input.GetAxis or Input.GetButton by passing in the now-mapped axis or button name.

햅틱스

You can retrieve input devices for any currently tracked XRNode. If there is a valid input device at a tracked XRNode, Unity can route haptic data to the corresponding input device to provide the wearer with immersive feedback. Unity can send haptic data either as a simple impulse with amplitude and duration, or as a buffer of data.

모든 플랫폼이 모든 햅틱 유형을 지원하지만, 햅틱 기능에 대해 기기에 쿼리할 수 있습니다. 다음 예시는 오른손잡이용 입력 기기를 가져온 후 해당 기기가 햅틱 기능을 지원하는지 확인하고, 지원하는 경우 임펄스를 재생합니다.

InputDevice device = InputDevices.GetDeviceAtXRNode(XRNode.RightHand);
HapticCapabilities capabilities;
if(device.TryGetHapticCapabilities(out capabilities))
{
    if(capabilities.supportsImpulse)
    {
        uint channel = 0;
        float amplitude = 0.5f;
        float duration = 1.0f;
        device.SendHapticImpulse(channel, amplitude, duration);
    }
}

참고: 이 코드 예시는 UnityEngine.XR 네임스페이스를 사용합니다.


공간 매핑의 일반적인 문제 해결
Windows 혼합 현실 입력