VRTK之手柄事件監聽以及重寫StartUsing方法實現與物體的交互


一.VR開發中經常會用到手柄事件的監聽,VRTK中提供了一個例子 VRTK_ControllerEvents_ListenerExample ,首先手柄需要添加VRTK_ControllerEvents腳本,然后通過

實現了對手柄按鈕的監聽,幾個常用的事件:

 · TriggerPressed - 當trigger被扣下一半左右時發送事件.
 · TriggerReleased - 當Trigger從扣下一半的狀態釋放后發送事件.
 · TriggerTouchStart - 當trigger被扣下一點點時發送事件.
 · TriggerTouchEnd - 當trigger完全沒有被扣下時發送事件.
 · TriggerHairlineStart - 當trigger扣下的程度超過了當前的hairline閾值時發送事件.
 · TriggerHairlineEnd - 當tringger釋放程度超過了當前的hairline閾值時發送事件.
 · TriggerClicked - 當trigger在clicked之前扣下的過程中發送事件.
 · TriggerUnclicked - 當trigger不再一直處於clicked狀態時發送事件.
 · TriggerAxisChanged - 當trigger扣下的量發生變化時發送事件.
 · ApplicationMenuPressed - 當application menu被按下時發送事件.
 · ApplicationMenuReleased - 當application menu被釋放時發送事件.
 · GripPressed - 當grip被按下時發送事件.
 · GripReleased - 當grip被釋放時發送事件.
 · TouchpadPressed - 當touchpad被按下的時候發送事件(比觸摸的按壓程度大).
 · TouchpadReleased - 當touchpad從被按下(非觸碰)的狀態下釋放時發送事件.
 · TouchpadTouchStart - 當touchpad被觸摸時發送事件 (不是點擊或者摁下).
 · TouchpadTouchEnd - 當touchpad不再被觸摸時發送事件.
 · TouchpadAxisChanged - 當touchpad被觸摸的點改變時發送事件.
 
 二.重寫StartUsing()實現與物體的交互
自定義腳本 繼承VRTK_InteractableObject,然后重寫StartUsing方法
 
將腳本放交互物體上,在Inspector面板中進行調整

 

關於VRTK_InteractableObject的參數詳解,網上有很多,常用的幾個有:

 ·Touch Highlight Color - 高亮顏色

 ·Is Grabbable - 是否可以被抓取

 ·Hold Button To Grab - 長按抓取

 ·Grab Override Button - 設置抓取按鍵

 ·Is Usable - 是否可以被使用

 ·Use Override Button - 設置使用按鍵

圖片中的腳本實現的是按Trigger鍵出發物體事件

手柄中需要添加

關於前三個腳本,前面的博客中有詳解,最后一個VTRK_Interact Use  是與我們自定義的腳本配套使用的。

 

 

 


免責聲明!

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



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