unity+vuforia(AR)(Virtual Buttons)
来源:互联网 发布:爱如生数据库 编辑:程序博客网 时间:2024/05/18 01:59
虚拟按钮,让我们可以触摸现实中虚拟存在的按钮而触发事件,通俗来讲,就是让人感觉自己可以触摸虚拟物体一般,话不多说,咱就来试试。如何导入vuforia包就不在此说明了,因为下载的249.65 MB的例子包含了所以的特征。
把ARCamera,ImageTarget,teapot拖到Hierarchy,还有我这四个颜色名字,就是把Virtual Buttons的预设(就是Prefab格式)拖四遍拖入,放置到图片相应的位置,然后重命名下名字。
点击ARCamera的编辑界面,打勾是惯例,不要忘了,这样才能识别该图。
默认的水壶可以设置下默认的材质(不设置也可以,为了好看点= =#)
虚拟按钮部分注意红框部分的名字也要修改,官方给的代码是根据名字来判断你触摸了哪个按钮的
最后我们来设置最重要的部分了,就是ImageTarget部分,第一个红框部分肯定不能忘吧。完成后,设置Virtual Button Event Handler脚本,我也忘了是否导入默认就有这个脚本,如果没有的话找到拖入即可。这里不要忘记把其他材质拖入,最后一个材质是默认材质,就是手不触摸按钮后默认的材质,其他都会随触摸变换。
这里就不贴最后的效果图了,最后运行触摸的话准确度还是挺不错的,放在最后要着重提几点,如果自己的项目放置虚拟按钮,要注意以下几点:
●虚拟按钮大小应大约是目标识别图大小的10%
●最好把虚拟按钮“高亮”,比如识别图上明确显示按钮的位置,提示这是可触摸的,会有事件反馈
●使虚拟按钮和周围有明显的(例色彩)对比(比如一张白纸上放个按钮,很难识别按钮)
●按钮距离边界要有充足的空间,避免按了按钮后追踪不到识别图了
对于按钮位置计算,因为有http://blog.csdn.net/ggtaas/article/details/38523719博主写明(感谢ggtaas),我就不再次说明了。
记得编辑下自己按钮的位置坐标,xml格式的文件,例下图
ImageTarget上自定义好自己的按钮事件脚本
脚本代码例如下:
using UnityEngine;using System.Collections;public class CustomVirtualButtonEventHandler : MonoBehaviour , IVirtualButtonEventHandler {// Use this for initializationvoid Start () {VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour> ();for (int i = 0; i < vbs.Length; ++i) {vbs [i].RegisterEventHandler (this);}}public void update(){}public void OnButtonPressed( VirtualButtonAbstractBehaviour vb ){Debug.Log (vb.VirtualButtonName+ " pressed"); }public void OnButtonReleased( VirtualButtonAbstractBehaviour vb ){Debug.Log(vb.VirtualButtonName+ " released" );}}
想要发生什么事件就自己定义吧,多学学Unity
- unity+vuforia(AR)(Virtual Buttons)
- unity+vuforia(AR)(Cloud Recognition)
- unity+vuforia(AR)(Smart Terrain/penguin)
- AR(增强现实) unity+vuforia 基础教程(1)!
- AR(增强现实) unity+vuforia 基础教程(2)!
- unity+高通vuforia开发增强现实(AR)基础
- unity+高通vuforia开发增强现实(AR)教程
- (AR 增强现实)Vuforia+Unity 柱体识别
- 基于 vuforia + unity + android studio 的AR开发(1)
- 基于 vuforia + unity + android studio 的AR开发(2)
- vuforia + unity “Hello AR”
- unity+高通vuforia开发增强现实(AR)教程(三) (勘误)
- unity+高通vuforia开发增强现实(AR)教程(一)
- unity+高通vuforia开发增强现实(AR)教程(二)
- unity+高通vuforia开发增强现实(AR)教程(三)
- unity+高通vuforia开发增强现实(AR)教程(一)
- unity+高通vuforia开发增强现实(AR)教程(二)
- unity+高通vuforia开发增强现实(AR)教程(三)
- ios App 调用DidReceiveMemoryWarning
- HDU1301 (kuskal & prim)
- 大话数据结构学习笔记(一)
- oracle wm_concat 函数 学习
- 刘翔女友为上海浙商学院学生 遭到刘父否认,刘翔沉默
- unity+vuforia(AR)(Virtual Buttons)
- tcp的各种连接状态
- ACM Hrbeu OJ 1208 Arrangement
- 插入排序
- 如何在 SketchUp 内置的 Ruby 中加载扩展库
- 剑指Offer:面试题38 数字在排序数组中出现的次数
- 集合类小结
- Python软件安装工具pip
- ruby加密