게임 개발/유니티

2025-12/ Unity 6 VR] 최신버전 햅틱 구현 방법

UniCoti(유니코티) 2025. 12. 2.
using UnityEngine.XR.Interaction.Toolkit;
using UnityEngine.XR;

public XRNode controllerNode;
    
    private UnityEngine.XR.InputDevice targetDevice;

    void Start()
    {
        GetDevice();
    }

private void GetDevice()
    {
        targetDevice = InputDevices.GetDeviceAtXRNode(controllerNode);
    }

    public void TriggerHaptic(float amplitude, float duration)
    {
        // 디바이스가 유효하지 않으면 다시 가져오기 시도
        if (!targetDevice.isValid)
        {
            GetDevice();
        }

        // 햅틱 기능 지원 확인 후 실행
        HapticCapabilities capabilities;
        if (targetDevice.TryGetHapticCapabilities(out capabilities))
        {
            if (capabilities.supportsImpulse)
            {
                targetDevice.SendHapticImpulse(0, amplitude, duration);
            }
        }
    }

 

그대로 가져가서 사용하시면 됩니다.

 

먼저 인스펙터에서 컨트롤러를 지정해주세요. (Left/Right Hand)

나머지 모든 구조는 건들이지 마시고, 사용하고 싶을때는

TriggerHaptic(0.5f, 0.5f); 처럼 사용하시면 됩니다!

 

참고로 XR 패키지와 세팅이 멀쩡해야 작동합니다.

가장 최신버전의 구현 사례이며, XR 패키지상 빠르게 변화할 수 있습니다.


이상으로 도움이 되었길 바라며,


끝.

댓글