vuforia guide:https://library.vuforia.com/articles/Training/Image-Target-Guide
vuforia sample - 选择 Core Features下载,导入ImageTarget.unitypackage:https://developer.vuforia.com/downloads/samples
vuforia 基础知识:高通Vuforia Getting Started
开发环境Vuforia 6.0.112
Unity 5.3.6f1 x64 (Android平台)
Windows 7 x64
名词说明下面列举下本文中所列出的几个名词,可能每个人对这些英文的理解不一样,这些解释仅仅代表个人观点。
Database(数据集、图集):大体都是指多张图片组合在一起的那个东西
ImageTarget(识别图):具体的某张识别图像
自带Demo简单分析1、从Demo中可以看出,当有多个ImageTarget时,每个ImageTarget之间是有间距的,可以简单理解为每个ImageTarget的坐标值不一样【(x,z)平面】,如下所示:
2、Demo中把需要识别的图,全部以ImageTarget的形式,放置在场景中
3、Word Center Mode默认的模式选择的是 FirstTarget
4、如果需要同时识别多个ImageTarget,需要设置最大识别数量
World Center ModeFirstTarget
相机在运动,第一个Found的ImageTarget坐标不动,其它ImageTarget会轻微地运动
Camera
ImageTarget在运动,相机不动
自己搭建的简单步骤1、上传识别图到管理后台(单张图像不超过2mb大小,如果是灰度图,建议使用jpg格式),管理后台会智能地标注出图像的识别点(如何让图像更具可识别性?有针对图像的设计指南)
2、下载识别图package,导入到Unity中,package中包括数据集(xxx.data),xml(xxx.xml),识别图(xxx_scale.jpg,xxx_scale.png)
3、根据Demo的示例创建一个新场景,里面有ARCamera,ImageTarget,在ImageTarget的属性面板选择database和识别图(ImageTarget)
4、运行程序,当摄像头识别到步骤3的选定的识别图之后,就会触发OnFound事件,而当识别图移开或者被遮挡,会触发OnLost事件
具体的业务逻辑,在OnFound和OnLost中进行处理
void OnFound(string trackableName){ //TODO 识别成功的逻辑处理,参数trackableName就是xml中的name } void OnLost(string trackableName){ //TODO 丢失的逻辑处理,参数trackableName就是xml中的name }