Vuforia的各种Target的简单介绍(包括地面识别)
前言
这些东西是我暂时的一点理解,如果你是没接触过的话,应该是有点帮助,如果要是了解的话,请指出问题,我会进行修正
这里是官方文档:Vuforia Library
Vuforia的两种识别分类
1.需要特定目标的识别
这种是需要比如一个图片,或者一个3D物体模型,或者是类似的可识别物体。
2.不需要特定目标的识别
这一类是将地面或者空中作为参考,通过手机自带的陀螺仪来进行操控
上边两种的优缺点
- 对于有特定目标的识别来说,
->优点在于识别能力,而且不太考验手机性能(因为不是所有手机都有陀螺仪,相反,在很多高端一些的手机上才有),而且可以在开发时使用摄像头来进行测试;
->缺点在于依赖目标,有陀螺仪的没怎么试,但无陀螺仪的手机一旦丢失目标一定会出现生成物体的问题 - 对于没有特定目标的识别来说,基本和上边相反
->优点在于比较自由,想怎么放怎么放,只要有地面,利用陀螺仪的时候,只要你别转的快的过于离谱就会有很高的精度,不会出现目标问题;
->缺点在于这玩意需要比较好的手机,而且有陀螺仪的型号我认为也不是都能成功应用,我现在测试的时候用的安卓设备也是同学的(捂头)
基于优缺点进行的阿应用场景推荐
- 特定识别
展现小的物体或者基于某种物体的功能,通过目标召唤你的AR效果 - 无目标识别(姑且这么叫)
要展现大的应用场景,并不基于某些特定目标,
需要目标的类型
这部分也比较有趣,需要你把你所需要的目标上传到服务器
为啥呢?
第一,你怎么知道你的目标识别效果怎么样?你能确保你的目标识别速度和精度吗?
第二,你上传之后会返回一个数据包,你可以直接调用,不上传会很麻烦。
如果你能确定你的精度并且愿意麻烦点,你是可以不上传目标的,嘛,我嫌麻烦,还是上传的好
上传你的目标到服务器
这里主要是图像(Image Target)和模型目标(Model Target),有个可以扫描的那个比较麻烦,可以自行去找一下
- 打开你的Vuforia网址,找到你的Target Manager,右侧有个Add Database
- 类型我的是Device,具体我也还不明白,选就对了,创建一个项目库
- 点进去你的库,选择Add Target
- 出来个这玩意儿,在File里选择你的文件,然后下边看着填一填,确定了
- 然后就会给你的图片打分,星星越多代表你的图片识别度越高,点击右边的下载
- 打开你之前创建好的Unity项目,导入你刚才下载的包,然后在你的Hierarchy窗口新建一个Image Target
- 选择你创建的Image Target,会有下图选项,From Database,意思就是来自你下载的那种包
- Database就是库,下边的Target就是你库里的图片,因为你可以下好多库,然后库里也可以有好多目标,,选择好就可以
9.这就基本弄完了,现在把你想要展现的效果全都拖入ARcamera之下,然后打包测试就可以,具体你要用手机对准目标,识别出来就会有效果的
不需要目标的类型
其实我更愿意叫做地面识别,嘛,出于严谨还是叫成上边的好,不过好麻烦啊
这一类主要有地面和空中识别,其实差不多
我主要测试的是地面识别型,这种类型的识别过程就是当你对准稍微亮一些的地面时,会有一个动作,然后点击屏幕又可以有一个动作。
这里的动作指的是程序有动作,不是什么奇怪的动作谢谢
创建并使用地面检测
这个类型需要三个东西:ARcamera,Ground Plane Stage,还有Plane Finder
-
一个带有Vuforia插件普通空项目,刚才上面目标识别部分的东西都不需要了
-
创建一个ARcamera
-
创建一个Ground Plane Stage
-
创建一个Plane Finder
-
完成!开玩笑的,不过也差不多了,接下来是进行调整参数
你创建的Plane Finder会自动有如下的脚本,其中Plane Indicator会自动创建
Advanced代表的是具体摄像头的部分,一个是检测到时自动出现的东西,一个时检测到后点击出的东西,这个我也很懵,看着弄就行,下边的Content Positioning Behaviour里边需要你把创建的Ground Plane Stage拖进去,这样就基本设定完成了
-
接下来你需要把你所想要展现的场景和物品拖到Ground Plane Stage下,成为子集,因为当目标找到后就会显示这个子集
-
完成后打包测试,请注意,这个要求你的手机有陀螺仪,并且有陀螺仪的手机也不一定可以,所以请多试一试不同型号的手机
结尾
目前正在做这个东西的项目,还有些东西在研究,所以可能还会更新相关的东西,如果有兴趣就先收藏了