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  是与我们自定义的脚本配套使用的。

 

原文地址:https://www.cnblogs.com/YorkZhao/p/9081438.html