赞
踩
在HTC的VRTK插件里UI的交互最常见的就是依靠手柄发出一条射线然后和界面进行交互。
在VRTK里发出射线的脚本有两个VRTK_SimplePointer脚本和VRTK_BezierPointer脚本。这两个脚本的区别就是前者发出的射线是直线,后者发出的是曲线。
如图:
VRTK_SimplePointer发出的直线:
VRTK_BezierPointer发出的曲线:
一般为了方便我们都采用直线的方式来与UI进行交互。
与UI进行交互要给控制器添加的必备脚本有这些:VRTK_UIPointer脚本用来跟UI进行交互,VRTK_SimplePointer脚本是用来发射线的脚本,最后那个是下图中的events的脚本是控制交互事件的脚本。
VRTK_UIPointer脚本
中的Activation mode 是射线与UI的产生交互方式。
如下图:Hold _button 是按下键才会进入与UI产生交互的模式
Toggle_button 是按下一次键会进入与UI的交互模式,再按下一次就结束了与UI的交互模式,反复如此,何Toggle的功能一样。
Always_On就是永远都处在可以交互的模式
VRTK_SimplePointer脚本
中的Enable Teleport选项为人物是否可以进行瞬移功能。
Pointer Hit Color 为射线可以触及到物体的颜色,表示可以进行射线的功能
Pointer Miss Color为射线不能进行功能的颜色。
Pointer Visibility里面也有三个选项:
Always _on是永恒可以实时的看到射线
off则是永恒看不到,虽然看不到但不影响功能,射线的功能是依然存在的只是你看不到而已。
On_When_Active 是和上述中的Toggle功能一样的,相当于按键开,再按键就会关。
---------------------------------------------------------------------------------
以上是关于手柄必须以要绑定的脚本,下面讲关于UI该做哪些设置
----------------------------------------------------------------------------------
首先Canvas的渲染方式要改成world space,如下图:
默认的交互方式都是按住手柄的方向键(圆的那个)然后在点击扳机键进行交互(自己可以修改)。例如某个按钮点击后会触发某一事件,触发方式和非VR状态一样只是操作方式换成了手柄,当射线指到按钮上并且按下手柄的方向键按钮会变成红色,然后点击手柄的扳机键就会触发事件了。如下图:如果是要让UI跟着眼镜一起移动就将整个Canvas放到Camera(eye)的下面。如下图:
------------------------------------------------------------------------------------------------
至此有了以上的对手柄和UI的操作就可以完成用手柄与UI进行交互功能了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。