本文的测试环境:
- macOS Mojave 10.14.2 / MacBook Pro 2015
- Unity 2018.3.8f1
- Vuforia 8.0.10
前言
这类文章已经实在太多了,我为什么还要再写,主要是为了让我关于Vuforia的整体知识框架完整。
本文将完成这样一个流程:
- 迅速搭建一个最简单的AR程序
- 生成安卓的apk
- 手机上运行测试。
准备
所有工作的提前是你的 Unity
可以正常使用,请保证版本至少是2017.3
, 因为对于Vuforia
来说,之前的版本用着不爽,所以尽量安装最新版本的Unity
。
你还需要一个Vuforia
账号,因为程序需要添加许可证密钥。
另外你可能需要一个外置的摄像头,因为摄像头要对准目标图像,那么摄像头能随意动,要么目标图可以动,总之摄像头要能照到目标图就行了,你自己想办法啦。
还有就是可能你的 Android SDK Tools
需要升级到26.1.1,因为打包apk时下图是可能会遇到的问题,如果你用不着这个则不用理会:
搞定上面的这些东西也非常简单,如果你需要额外帮助,百度应该可以的。
下文开始时将认为你已经把所需要的东西均已准备完毕,并且已掌握 Unity 的基础知识和操作,比如创建项目,创建脚本以及生成apk等等。
1. 迅速搭建一个最简单的AR程序
创建一个项目,取名 test
, 等加载创建完成是这样子:
设置Vuforia可用,可以在Edit/Project Settings/Player/XR Settings
下勾选 Vuforia Augmented Reality Supported
,初次勾选时会弹窗询问是否接受相关内容,点 Accept 即可:
回到项目中,删除 Main Camera,添加AR摄像头,如下:
然后继续添加ImageTarget,如些:
如果忘记导入默认的Image数据,可以点 Import Default Target:
在ImageTarget下挂一个小球:
添加Vuforia许可秘钥:登入Vuforia,在License Manager下创建一个 test 许可证并打开复制其内容;回到Unity,选中 ARCamera,点击 Open Vuforia Engine configuration,第一行处粘贴秘钥:
运行程序(程序将会使用摄像头,授权让Unity使用即可),有影像表示目前一切正常,然后关闭程序,继续下一步...
在Assets/Editor/Vuforia/ForPrint/ImageTargets
里面有我们需要的目标图像,打开它:
重新运行程序,然后拿起摄像头对准目标图像,.... 等等 ... Mac 上怎么拿起摄像头,其实是这样,你需要一个外置的摄像头(下面是用外置的摄像头测试的,你只要能让摄像头照到目标图像就行。):
这样的话,Vuforia默认使用的摄像头是本机,所以需要设置让Vuforia使用这个外置的摄像头,选中ARCamera,点击 Open Vuforia Engine configuration,找到Camera Device,选中你的外置的摄像头(FaceTime HD Camera 是本机的摄像头):
ok,重新运行程序,拿起摄像头,对准目标图片,有结果了:
生成安卓的apk
这里有一个小问题,会导致Unity生成apk失败,当你Build时,你会看到爆这样的错,它说 Vuforia 不支持Android TV :
解决也简单,在
Player Settings
中去掉 Android TV compatibility
就ok,(注意看爆的错误,它给出了解决问题的办法。):
重新打包apk:
完工:
手机上运行测试
将apk安装在安卓手机上:
在手机上运行测试: