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 패키지상 빠르게 변화할 수 있습니다.
이상으로 도움이 되었길 바라며,
끝.
'게임 개발 > 유니티' 카테고리의 다른 글
| 유니티 VR] 좌/우 컨트롤러가 보이지 않을 때 해결법 (0) | 2025.12.04 |
|---|---|
| Unity) Unity Version Control 세팅법 (5) | 2025.08.11 |
| 유니티) Transform.Translate 메서드 좌표계 적용법 (2) | 2025.01.09 |
| 유니티 셰이더) 반투명하게 만드는 법 (6) | 2025.01.05 |
| 유니티 셰이더) Quad를 양면으로 보이게 하는 방법 (0) | 2025.01.05 |
댓글