VRTK控制器事件(VRTK_ControllerEvents)

OVERVIEW


控制器脚本是处理游戏控制器发出的事件的。
控制器脚本是附在[camerarig]预制件上并为控制器上的每个按钮添加了事件侦听器(不包括menu按钮,这个按钮事件不能被重写,只用于steam平台)。
当一个控制器按钮被按下的时候,脚本会发出事件来表示按钮已被按下,这就允许其他任何脚本不需要实现任何关于控制器的逻辑就可以监听这个事件。当按钮被松开的时候,同样也会发出事件来表示按钮已经被松开。

INSPECTOR PARAMETERS


  • Point Toggle Button:将激光指针打开/关闭的按钮
  • Point Set Button:从指针的光标位置设置目标标记的操作的按钮
  • Grab Toggle Button:抓取物体的按钮
  • Use Toggle Button:使用物体的按钮
  • UI Click Button:触发UI元素点击事件的按钮
  • Menu Toggle Button:显示游戏菜单界面的按钮
  • Axis Fidelity:在轴变化量敏感度,默认值1,任何高于2的值都会导致过于敏感的结果
  • Triggle Click Threshold:扳机键按下前需要按下的距离水平

CLASS VARIABLES


  • public enum ButtonAlias - 按钮类型
    • Trigger_Hairline - Trigger按钮按下的幅度超过阀值
    • Trigger_Touch - Trigger按钮按下一点点
    • Trigger_Press - Trigger按钮按下一半多
    • Trigger_Click - Trigger按钮点击按下
    • Grip - grip按钮被按下
    • TouchPad_Touch - 触摸板被触摸
    • TouchPad_Press - 触摸板被按下
    • Application_Menu - 应用菜单按钮被按下
    • undefined
  • public bool triggerPressed - 如果trigger按钮被按下超过一半则会返回true,默认是false
  • public bool triggerTouched
  • public bool triggerHairlinePressed
  • public bool triggerClicked
  • public bool triggerAxisChanged
  • public bool applicationMenuPressed
  • public bool touchpadPressed
  • public bool touchpadTouched
  • public bool touchpadAxisChanged
  • public bool gripPressed
  • public bool pointerPressed
  • public bool grabPressed
  • public bool usePressed
  • public bool uiClickPressed
  • public bool menuPressed

CLASS EVENTS


  • TriggerPressed
  • TriggerReleased
  • TriggerTouchStart
  • TriggerTouchEnd
  • TriggerHairlineStart
  • TriggerHairlineEnd
  • TriggerClicked
  • TriggerUnclicked
  • TriggerAxisChanged
  • ApplicationMenuPressed
  • ApplicationMenuReleased
  • GripPressed
  • GripReleased
  • TouchpadPressed
  • TouchpadReleased
  • TouchpadTouchStart
  • TouchpadTouchEnd
  • TouchpadAxisChanged
  • AliasPointerOn
  • AliasPointerOff
  • AliasPointerSet
  • AliasGrabOn
  • AliasGrabOff
  • AliasUseOn
  • AliasUseOff
  • AliasMenuOn
  • AliasMenuOff
  • AliasUIClickOn
  • AliasUIClickOff
  • ControllerEnabled
  • ControllerDisabled

UNITY EVENT


VRTK_ControllerEventsObject添加VRTK_ControllerEvents_UnityEvents组件来允许访问unityevents

  • OnTriggerPressed
  • OnTriggerReleased
  • OnTriggerTouchStart
  • OnTriggerTouchEnd
  • OnTriggerHairlineStart
  • OnTriggerHairlineEnd
  • OnTriggerClicked
  • OnTriggerUnclicked
  • OnTriggerAxisChanged
  • OnApplicationMenuPressed
  • OnApplicationMenuReleased
  • OnGripPressed
  • OnGripReleased
  • OnTouchpadPressed
  • OnTouchpadReleased
  • OnTouchpadTouchStart
  • OnTouchpadTouchEnd
  • OnTouchpadAxisChanged
  • OnAliasPointerOn
  • OnAliasPointerOff
  • OnAliasPointerSet
  • OnAliasGrabOn
  • OnAliasGrabOff
  • OnAliasUseOn
  • OnAliasUseOff
  • OnAliasMenuOn
  • OnAliasMenuOff
  • OnAliasUIClickOn
  • OnAliasUIClickOff
  • OnControllerEnabled
  • OnControllerDisabled

EVENT PAYLOAD


  • uint controllerIndex - 被使用的控制器索引
  • float buttonPressure - 被施加到按钮上的压力的量。0f到1F。
  • Vector2 touchpadAxis - 触摸板被触摸的位置,(0,0)到(1,1)。
  • float touchpadAngle - 触摸板的触摸位置的角度,顶上是0°,地下是180°,以此类推,0°到360°。

CLASS METHODS


GetVelocity()
public Vector3 GetVelocity()
  • Parameters
    • none
  • Returns
    • Vector3 - 一个包含当前现实世界物理控制器速度的3维向量。

这个方法可以获取控制器的在当前现实世界的速度。可以用来确定控制器被晃动的速度和方向。

GetTouchpadAxis()
public Vector2 GetTouchpadAxis()
  • Parameters
    • none
  • Returns
    • Vector2 - 触摸板被触摸的位置信息,从(0,0)到(1,1)。X表示触摸板水平方向,Y表示触摸板垂直方向。
GetTouchpadAxisAngle()
public float GetTouchpadAxisAngle()
  • Parameters
    • none
  • Returns
    • float - 触摸板被触摸角度信息,顶上0°,底下180°,取值0°-360°。
GetTriggerAxis()
public float GetTriggerAxis()
  • Parameters
  • none
  • Returns
  • float - trigger按钮被按下的程度,取值0f到1f。
GetHairTriggerDelta()
public float GetHairTriggerDelta()
  • Parameters
  • none
  • Returns
  • float - trigger按钮从初始位置到当前位置的力度变化值
AnyButtonPressed()
public bool AnyButtonPressed()
  • Parameters
  • none
  • Returns
  • bool - 当有任何按钮被按下的时候返回值为true
IsButtonPressed()
public bool IsButtonPressed(ButtonAlias button)
  • Parameters
  • ButtonAlias button - 检查按钮是否被按下
  • Returns
  • bool - 如果该按钮被按下的话返回值为true

EXAMPLE


例子: VRTK/Examples/002_Controller_EventsVRTK/Examples/Resources/Scripts/VRTK_ControllerEvents_ListenerExample.cs

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • VRTK是由一些大神对SteamVR进行一定的优化后封装出来的便捷快速VR开发工具,下面一步一步来了解这个神插件。...
    砍了那只鸭阅读 7,243评论 3 15
  • Controller Events 脚本用于统一处理Vive手柄发送的事件. Controller Events ...
    游戏开发小Y阅读 7,604评论 2 2
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,335评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,561评论 18 139
  • 你有没有遇见过这样一个人,明明是他先闯进你的世界,却在你日渐上心的时候扬长而去;你在日后漫长的岁月里一边等待一边凋...
    h小半h阅读 211评论 0 0