SteamVR手柄震動控制實現


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;

         }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM