VRTK插件之与UGUI的交互
来源:互联网 发布:php 正侧过滤ip 编辑:程序博客网 时间:2024/06/07 10:06
在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进行交互功能了。
- VRTK插件之与UGUI的交互
- VRTK插件详解二:交互之事件与委托分析
- VRTK插件详解三:交互之相关脚本分析
- VRTK交互脚本解析之VRTK_InteractableObject
- VR开发之VRTK插件使用(一)
- SteamVR Unity工具包(VRTK)之控制器交互
- VRTK交互脚本解析之VRTK_InteractGrab和VRTK_InteractUse
- VRTK关节物体交互
- 【HTCVR】VRTK插件案例分析之001~010
- 【HTCVR】VRTK插件案例分析之0011~020
- 【HTCVR】VRTK插件案例分析之0021~030
- 【HTCVR】VRTK插件案例分析之0031~037
- 【HTCVR】VRTK插件案例分析之0038~044
- 【HTCVR】VRTK插件模块功能分析之传送移动(一)
- 【HTCVR】VRTK插件模块功能分析之传送移动(二)
- 【HTCVR】VRTK插件功能
- UGUI之精灵的创建与打包
- 关于HTC VIVE的插件VRTK的功能
- 关于SQL Server技术内幕--你可能不知道的事
- MySQL数据库水平分表策略--一致性hash
- 11.dubbo结果缓存、泛化引用、泛化实现
- 【utils】用于前端展示树结构的工具类
- verilog中的关键字disable用法
- VRTK插件之与UGUI的交互
- Android Develop Tips(个人开发踩坑汇总)
- Spring Data JPA(3)--JpaRepository和JpaSpecificationExecutor的结合使用
- 前端SEO技巧
- 2017.12.22日记
- googl zxing 生成二维码携带圆形logo和链接
- Collection基础实例
- django开发电子商城(一)创建项目
- 1.3java基础部分三:java的集合框架