Unity是一款强大的实时3D开发平台,可以实现建筑模型到AR模型的转化。

Updated on 

Unity制作AR应用

1.项目概述

这个项目是2019年我为图协纳新所做的,当时是受哈工大录取通知书上AR二维码的启发,想做一个AR明信片,实现混合现实的功能:扫描二维码获取AR查看器→镜头大致对准明信片→在明信片上呈现虎溪校区图书馆的3D模型。

当时百度了一些教程,主要都是用Unity实现的。我对Unity的了解也不是很深,但体验下来给我的感觉主要是以下几点:①界面交互对像我这种编程入门者比较友好,学习成本有,但不是很高②可视化编程,所见即所得③对建筑模型的信息识别比较到位④部署方便。

想用Unity实现AR的功能还需要一个插件:Vuforia engine,当然其他插件包括ARkit、ARcore理论上也是可以用的,但这两者分别是Apple和Google推出的,可能兼容性会有问题。

2.制作过程

2.1新建Unity工程、激活VuforiaAR引擎

Vuforia功能插件是提前集成在Unity中的,一般不需要单独下载安装。

从File-BuildSettings-PlayerSettings,勾选Vuforia AR以激活引擎。

2.2添加AR Camera和Camera Image Target

AR Camera是Vuforia的核心,在GameObject中添加。

默认场景中包含Main Camera、Directional Light,但并不包含Target,而我们要实现的是在特定目标上(明信片)展示3D模型,所以需要我们右键添加一个Target出来,我们要定位的明信片上的图片,所以添加Camera Image Target即可。

当然,我们可以在Inspector中调整一些模式,比如World Center Mode提供了三种模式:SPECIFIC_TARGET、FIRST_TARGET、DEVICE,分别是以特定物体、照相机识别的第一个物体、照相机所在设备为AR视角的中心,我们默认DEVICE即可;除此之外,还可以调整Camera Device Mode、Max Simultaneous Tracked Images、Camera Direction(选定前、后摄像头)、Camera Device等,基本都是字面意思,没有特殊需求则全部默认即可。

2.3配置Vuforia Engine

在Inspector中打开Open Vuforia Engine configuration,添加License Key。

License Key的获取:

①进入Vuforia官网:https://developer.vuforia.com/vui/develop/licenses,Get Development Key

②Paste即可。

2.4为场景添加定位图片、3D模型

其实前面都可以视为准备工作,这一步才是真正开始制作AR效果,好在这一步是最简单的。

①制作定位数据包:Vuforia Engine网页Target Manager→Add Database(Type: Device)→导入明信片上的图片(按照经验设置width0.05即可)→Download Database。

②将定位数据包和3D模型(.fbx格式)拖入Assets,或者Import Unity Package。

③将场景目标和定位数据包匹配:设置Image Target Behaviour为Predefined,适当调整参数。

④将场景目标和3D模型匹配:将Assets中的3D模型.fbx文件拖入Image Target子目录,适当调整参数。

2.5导出移动端设备APK

这一步以安卓系统为例,IOS系统的应用发布要麻烦许多,需要MAC端Unity发布,并且应用上架有阻力。再次感叹苹果生态的闭塞…

①配置java语言环境:可以参考教程https://blog.csdn.net/x13804709/article/details/78852060

②签名:注意签名栏格式要与公司名称及产品名称一致,即“com.公司名称.产品名称”,最后勾选“Build”

小功告成!!!

3.成果展示