在移动设备上展示AR效果一般需要识别图的辅助,当我们扫描到不同的识别图,识别图上会产生相应的3D效果。识别图存储于数据包里。所以我们做图形识别的第一步就是创建应用数据包。我们点击Develop选项卡下的Target Manager,点击Add Database按钮。
给应用数据包起一个名字,选择Device选项,创建数据包。
选择刚才创建的数据包,接着点击Add Target按钮,创建目标识别图。
选择Single Image,上传AR识别图。格式只能是jpg或png,而且大小不能超过2M,图片尽量色彩丰富些,这样可以增加图片的识别速度。Width可以输入任意值,Vuforia可以通过宽度根据图片比例计算出图片的高度。建议不要太大或太小。参考值10-1000左右。识别图名字随意填。
确定后会生成识别图列表,我们点击Download Database按钮,下载数据包。选择Unity Editor平台,下载下来是一个unitypackage包。
创建Unity工程,将下载好的vuforia sdk的unitypackage包和刚刚生成的数据包unitypackage包一起导入工程。
在这里给大家解释一下目录, Editor目录和StreamingAssets目录来自数据包文件,主要存储我们上传的识别图的纹理和数据集。Plugins 用于导出Android,iOS等平台应用的所需的插件。Vuforia目录下是我们开发AR主要依赖的文件。
在Project视图下选择Vuforia/Prefabs文件夹,将ARCamera和ImageTarget两个预制体拖入层级视图Hierarchy中。将场景自带的Main Camera删除。
ARCamera的Inspector面板找到Licence Key,把我们上节课生成的App License Key复制上去,否则会出现以下错误。
Vuforia key is missing,Please get a valid key.by loging in to your account at developer.vuforia.com and creating a new project.
还是在这个面板下找到 DatabaseLoadBehaviour 这个脚本,勾选使用到的数据包,例如我们这里在 Load sxtardatabase后打对勾。之后将数据包激活,在Activate后也打上对勾。
接下来在 ImageTarget 的 Inspector 面板找到 ImageTargetBehaviour 这个脚本,识别种类Type有三个选项,我们选择predefined预先确定,而其他两项User Defined,Cloud Reco分别是用户自定义识别和云识别要用到的。 Database选择我们载入的数据包,他会自动找到Image Target识别图。
在ImageTarget层级下创建或去Asset Store找一个三维物体,调整其位置在识别图的上方,调整适当的大小。点击运行来测试效果。