一.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