Unity3D快速开发AR应用
本文是给初学者学习AR应用的实例教程,使用工具是Unity3D和Vuforia SDK,先从Unity3D开始介绍吧

Unity3D是目前最热门的游戏开发引擎,支持全跨平台的游戏开发,包括PC端、移动端Andorid、iOS,主机端PS4、Switch和掌机PSV、3DS等,热门游戏王者荣耀、炉石传说、马里奥赛车8和仙剑奇侠传6等都是由这个游戏引擎开发的。
那么我们先从安装开始说起。到这里Unity官网先注册账号然后选择个人免费版下载,之后安装就不再赘述了,提一下一个细节

到这里记得选上Android Build Support、iOS Build Support还有Vuforia Augmented Reality Support,不然忘了的话就会像博主一样要后期导入略显麻烦了。安装好后新建一个3D项目

打开好的界面应该如下

简单介绍一下Unity的原理,可以看到左上角有Main Camera和Directional Light两个东东,所有游戏开发的场景都是根据Main Camera里面捕捉拍摄到的场景,而Directional Light则是提供光线,光照向摄像机,摄像机里面的场景就是亮的,反之就是阴暗的,这一点就是显示的摄像原理。但我们是开发AR应用,不能用普通的Camera,于是先把Main Camera删掉,然后在图中间位置那个搜索条搜AR Camera,然后拖动到左边hierarchy下面

接下来,就是要利用这个AR Camera啦。AR Camera需要Vuforia SDK的支持,Vuforia是高通公司开发的计算机视觉软件平台,利用他可以很简单的实现AR应用。我们在这里Vuforia申请密钥,前提是你注册好了账号。

点击Get Development Key

自己定义项目名如上图创建你的Vuforia项目,这个是免费的。好了之后点击你建立的项目

复制粘贴密钥

回到Unity,点击AR Camera然后在右边Inspector窗口点击Open Vuforia Configuration,将刚刚上面的密钥粘贴到App Licese Key里面

回到Vuforia页面上,点击Target Manager,我们添加识别卡上去,目的当摄像头拍摄到我们指定的东西上,就在上面浮现AR模型。点击Add Database,选择Device,然后Create

然后点开你新建的Database,然后Add Target

这里博主选择随手拍了本杂志封面作为识别卡上传,你们可以选择其他东西,建议有区分度的相片,上传成功后如下

网站会给出评分的,评分越高说明识别效果越好,具体的图像识别原理有兴趣的自行查阅Vuforia网站说明,之后我们点击右上方下载这个Database到本地,回到Unity,导入下载的Database

添加好了之后,Assets目录下会多出StreamingAssets文件夹,我们添加的识别卡也在目录下面。然后我们添加ImageTaget,将蓝色方块的ImageTarget拖动到左上角


接着我们将模型文件pikachu从本地电脑拖动到Assests目录下,这里选择一个皮卡丘模型为案例

然后将图所示的皮卡丘模型拖动到ImageTarget目录下,使得其变成子目录,这一点很重要

然后点击ImageTarget,将Database选为我们在Vuforia建立的database,步骤正确的话,这里应该有两个选项一个是Empty另一个就是我们新建立的database了

最后一步来了,点击AR Camera,然后Open Vuforia Configuaration,在Datasets里面将下面两个选项勾选上即可完成一个简单的AR案例

大致演示一下小案例

一只皮卡丘就在杂志上显现啦,最后说一下模型一般选用obj格式的CG模型,最后推荐一下慕课网关于AR的视频教程点击这里