VRTK使用总结

1.在场景Controller_Events中

VRTK_ControllerEvents脚本中声明了各种事件

VRTK_ControllerEvents_ListenerExample脚本中在有对应事件的注册。(要实现的功能应该在此处编写)

2.Controller_SimplePointer场景中

SimplePointer脚本主要的功能是产生发射射线的物体并在安东Grip的时候发射射线

在这里更改触发事件的按钮。


在listener中的3个事件分别对应了。(在in和out中可以对被照射物体进行操作)


3.VRTK_ControllerAction脚本的作用(未完)

这个脚本中提供了高亮手柄按钮的方法可以高亮手柄的不同部分。

暂时只总结这一项功能。


4.Controller_BasicObjectGrabbing

可交互的物体需要碰撞器以外,还应有刚体。

在Interactable脚本中有各种交互方式(touch,Using,grab等交互方式)如果需要某一种交互方式只需继承此类重写对应交互方式的方法。

(006_Controller_UsingADoor中的门就用了using方法)

 

在手柄上有如上脚本,其中有1.熟悉的Events脚本前面说过了 这个脚本是响应这个按钮事件的。2.Actions脚本。3.Touch脚本大致内容是通过添加手柄触发器来判断物体是否交互。4Grab脚本在判断有可交互物体的基础上进一步设置交互方式。暂时不需要理解其中的全部代码,功能比较合理。


5. HeightAdjustTeleport

主要用到了最后一个选项,其中如果不勾选falling将会在没有碰撞的地方掉落。反之将可以在与之前高度一样的地方行走。(值得注意的是此脚本需要在CameraRig上挂)

6.HeadSet CollisionFade

 

这脚本主要的功能是当你的头盔与物体碰撞时会呈现你选择的颜色。

本意是为了让用户知道自己走入了禁区,让用户自行后退。但是由于工厂内机器太多,发生碰撞的时机也很多不适合在棕榈油工厂中使用。这个功能适合在一些比较小的场景不频繁使用手柄传送的场景中使用。(网上说Unity5.4以后这个脚本挂在head上,以前的需要挂在eye上)

7.Controller_SnappingObjectsOnGrab

这个场景中主要介绍了InteractableObject这个脚本的主要功能

这个脚本中主要分了4个板块(千万别理解错了这个脚本是挂在物体上的)

设置被手柄碰撞时是否高亮以及高亮颜色。

值得一提的是PrecisionSnap这个选项 如果勾选则与物体交互的位置为碰撞的位置。

如果不勾选则把物体中心放在手柄上(固定位置)

 

这个模块中主要的功能是选择抓取方式提供了5种交互方式,其中常用Fixed_Joint和ChildOfControl

 

这个模块的内容对应了Events脚本中use toggle button 设置的按键(同理上面的grab对应了Grap设置的按键)。Usable勾选后开启使用Trigger按键(默认)。Hold Button To Use选项勾选时按住按键触发事件。如:持续操纵时需要勾选此选项(射击时也需要勾选此项,不勾选不能按一次发射一次。像开关之类物体不需要勾选这类操作属于一次性操作)

Pointer ActivatesUse Action 这个选项顾名思义当射线照射时物体时响应use中的动作。在棕榈油项目中在设备透明这个功能中使用较多。(需要注意与GrabInteractor中的选项结合使用019_Controller_InteractingWithPointer场景可以很好的体现)。

欢迎大家和我谈论VRTK插件和HTC Vive相关的技术 邮箱[email protected]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章