一.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 是與我們自定義的腳本配套使用的。
