반응형
* 덧글은 공개 덧글로 부탁드립니다. (개인정보가 담겨있다면 비밀 덧글로 :) )
Unity를 이용하여 Vive 기반의 VR 개발을 할 때, Steam VR 또는 Vive Input Utility(앞으로는 VIU라 하겠습니다.)를 사용할 수 있습니다. 작년에 콘텐츠를 만들 때에는 VIU를 사용했었는데, 올해엔 Steam VR 을 사용해보았는데요, 두 에셋을 이용했을 때 진동을 주는 방법에 대해 기록해보겠습니다.
1. STEAM VR
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
public class Haptic : MonoBehaviour
{
public SteamVR_Action_Vibration hapticAction;
public PlayVibration()
{
Pulse(1, 150, 75, SteamVR_Input_Sources.LeftHand);
Pulse(1, 150, 75, SteamVR_Input_Sources.RightHand);
}
private void Pulse(float duration, float frequency, float amplitude, SteamVR_Input_Sources source)
{
hapticAction.Execute(0, duration, frequency, amplitude, source);
Debug.Log("Pulse " + source.ToString());
}
}
2. Vive Input Utility
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HTC.UnityPlugin.Vive;
public class VibrationSample : MonoBehaviour
{
public HandRole handRoleL = HandRole.LeftHand;
public HandRole handRoleR = HandRole.RightHand;
public void PlayVibe()
{
ViveInput.TriggerHapticVibrationEx<HandRole>(handRoleR, 1, 85, 1, 0);
ViveInput.TriggerHapticVibrationEx<HandRole>(handRoleL, 1, 85, 1, 0);
}
}
개인적으로는 VIU에서 사용한 방법이 좀더 자연스럽게 진동이 왔던 것 같습니다.
혹시 다른 좋은 방법을 찾으신 분들은 덧글로 공유해주시면 감사하겠습니다.
반응형
'Unity_C# > Unity' 카테고리의 다른 글
[Unity/C#] Pooling시 Audio 관리 (0) | 2020.09.11 |
---|---|
[Unity/C#] Audio 관리 코드 (0) | 2020.09.11 |
[Unity/C#] Unity와 Visual Studio가 연결이 안되어 있을 때 (2) | 2020.09.07 |
[Unity] Steam VR teleport 버튼 시선 이동 문제 (0) | 2020.08.13 |
[Unity/Xcode] Unity로 iOS 아이폰 AR 어플 연결하기 - 1 (1) | 2020.02.28 |