VRTK插件详解五:手柄使用介绍—UI制作与实现
2017-04-18 11:33
1066 查看
这篇我们来说下手柄菜单的制作,首先选择一个手柄在下面创建一个Canvas,将Canvas的render mode模式改为World Space,并将Canvas的大小改为0.001.在Canvas下创建一个Image,这里用于我们按下菜单键后跳出的信息。导入一张Image设置为Sprite类型,并添加到Canvas下的image中,并调整Image的Rect
Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/9d53c592430413a7356deba33ec1ca6f)
这篇我们来说下手柄菜单的制作,首先选择一个手柄在下面创建一个Canvas,将Canvas的render mode模式改为World Space,并将Canvas的大小改为0.001.在Canvas下创建一个Image,这里用于我们按下菜单键后跳出的信息。导入一张Image设置为Sprite类型,并添加到Canvas下的image中,并调整Image的Rect
Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。
下面我们开始写代码来控制菜单的出现,创建一VR_Menu_Test.cs脚本,并挂在在左手柄上。这里我就直接使用VRTK插件来处理一些事件。
首先引入我需要的VRTK插件和Dotween插件,还有UI程序集。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/c740e60bc4bc0fc927a8544b78d29319)
![](http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=http://mmbiz.qpic.cn/mmbiz_png/BgMqVK4l9I2Be04ShJTAu84p6Ddqxm2rGaicKlxaamoD91yfPVnYTyiahMhHOblRpfxNjhbl4QichLPRw6yKjdUlA/0?wx_fmt=png)
在开始时候设置菜单不显示和大小为0
![](http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=http://mmbiz.qpic.cn/mmbiz_png/BgMqVK4l9I2Be04ShJTAu84p6Ddqxm2raea15f0z1tcVFaKqeric07ncBdUVwcNWGojEibZKrXR7OHILdNQvaibLQ/0?wx_fmt=png)
指定一个事件处理函数
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/081205f8221c1b3b20e2a4e001687b10)
构造事件处理函数,图片显示和消失的判断。使用Dotween实现图片显示和消失的效果。
![](http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=http://mmbiz.qpic.cn/mmbiz_png/BgMqVK4l9I2Be04ShJTAu84p6Ddqxm2rps8oqSLxDicw3iciaml3uqFPEiaScMyDNpzrIia5cqnyrmIJiaUkgicmeWMyw/0?wx_fmt=png)
保存代码后,指定变量,如下图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/5b92a0e7c4c532a7fcaf8d0dd3bb9484)
完成以后,点击Play测试,当我们按下左键菜单键就会显示图片。再按下就会消失。
这里说一点,VRTK工具包也给我们提供很多方面的功能,打开文件夹SteamVR_Unity_Toolkit下的Prefab文件夹。这里面的ControllerTooltips预制体用于一些新手引导,介绍手柄按键的功能。这里我们将此预制体拖拽到左手柄下。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/77f430863680e73807937ac33de090c6)
选中该预制体可以在Inspector视图中修改按键功能描述文本,颜色及模型。这里我将菜单键的描述改为游戏背景介绍,根据自己情况更改。运行游戏后可以看见如下图所示。
![](http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=http://mmbiz.qpic.cn/mmbiz_png/BgMqVK4l9I2Be04ShJTAu84p6Ddqxm2rMP8bReqibIOmGicJmGuJSDYCwAWwcPyiaSib6uicUEHDll07ZA4YLRURBQA/0?wx_fmt=png)
RadialMenu预制体为环形菜单,将刚刚预制体设为false,再将该预制体拖拽到左手柄下,展开RadialMenu子物体,选中Panle后,再Inspector面板中,更改菜单的数量并设置每个选项对应的事件。这里我们设置Buttons的size为5,并导入五张Image都设置为Sprite类型。展开Element后将Image对应拖拽到Button
Icon。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/89b0a92440300df6bff1ab2c959256fd)
设置后以后运行游戏,当我们触摸TouchPad后会出现圆形菜单,我们可以滑动选择需要选择的Element。如下图所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201704/18/1201ded84e38c965bbb7af03bcce51fb)
这里当选择到某一Element后,可以有四种事件如如图10,这里事件的触发我们再前面的文档中已有实现过,这里可以自己尝试一下。
Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。
这篇我们来说下手柄菜单的制作,首先选择一个手柄在下面创建一个Canvas,将Canvas的render mode模式改为World Space,并将Canvas的大小改为0.001.在Canvas下创建一个Image,这里用于我们按下菜单键后跳出的信息。导入一张Image设置为Sprite类型,并添加到Canvas下的image中,并调整Image的Rect
Transansform,我们可以运行后根据场景中的效果进行调整,如下图所示。
下面我们开始写代码来控制菜单的出现,创建一VR_Menu_Test.cs脚本,并挂在在左手柄上。这里我就直接使用VRTK插件来处理一些事件。
首先引入我需要的VRTK插件和Dotween插件,还有UI程序集。
在开始时候设置菜单不显示和大小为0
指定一个事件处理函数
构造事件处理函数,图片显示和消失的判断。使用Dotween实现图片显示和消失的效果。
保存代码后,指定变量,如下图所示。
完成以后,点击Play测试,当我们按下左键菜单键就会显示图片。再按下就会消失。
这里说一点,VRTK工具包也给我们提供很多方面的功能,打开文件夹SteamVR_Unity_Toolkit下的Prefab文件夹。这里面的ControllerTooltips预制体用于一些新手引导,介绍手柄按键的功能。这里我们将此预制体拖拽到左手柄下。
选中该预制体可以在Inspector视图中修改按键功能描述文本,颜色及模型。这里我将菜单键的描述改为游戏背景介绍,根据自己情况更改。运行游戏后可以看见如下图所示。
RadialMenu预制体为环形菜单,将刚刚预制体设为false,再将该预制体拖拽到左手柄下,展开RadialMenu子物体,选中Panle后,再Inspector面板中,更改菜单的数量并设置每个选项对应的事件。这里我们设置Buttons的size为5,并导入五张Image都设置为Sprite类型。展开Element后将Image对应拖拽到Button
Icon。
设置后以后运行游戏,当我们触摸TouchPad后会出现圆形菜单,我们可以滑动选择需要选择的Element。如下图所示。
这里当选择到某一Element后,可以有四种事件如如图10,这里事件的触发我们再前面的文档中已有实现过,这里可以自己尝试一下。
相关文章推荐
- jQuery-ui插件datepicker的参数使用详解
- Unity表情制作插件 - Mega Fiers 使用介绍
- jQuery-ui插件datepicker的参数使用详解
- StreamVR插件详解二:UI及手柄
- jQuery-ui插件datepicker的参数使用详解
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
- Cordova - fileTransfer插件的使用详解(实现文件上传、下载)
- iOS之UI--使用SWRevealViewController 实现侧边菜单功能详解实例
- 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
- iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例
- jQuery-ui插件datepicker的参数使用详解
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
- 分享一个使用NSIS制作安装包的UI插件
- 通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解)
- iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例
- UGUI之Selectable功能详解上篇(UI动画制作与实现)
- jQuery-ui插件datepicker的参数使用详解
- angular插件制作——Directive指令使用详解
- jQuery-ui插件datepicker的参数使用详解
- 使用python制作ArcGIS插件(1)工具介绍