SteamVR手柄震動控制實現
public class handCtrl : MonoBehaviour
{
public SteamVR_TrackedObject _TrackedObject; //定義unity中手柄控制器
private SteamVR_Controller.Device _device; //定義手柄控制設備
private bool flag=false; //定義bool變量
void Start()
{
//確定當前手柄
_device = SteamVR_Controller.Input ((int)_TrackedObject.index);
}
//觸發碰撞檢測
void OnTriggerEnter(Collider other)
{
//判斷碰撞物體
if(other.tag.Equals("Fruit"))
{
flag = true;
//調用手柄震動協同
StartCoroutine ("start");
}
}
//手柄震動協同
IEnumerator start()
{
//0.2秒后調用ToFalse,關閉while
Invoke ("ToFalse", 0.2f);
while (flag)
{
//震動脈沖強度
_device.TriggerHapticPulse (3500);
//等待間隔
yield return new WaitForEndOfFrame();
}
}
//bool轉為false
void ToFalse()
{
flag = false;
}
}