基于标记的增强现实APP的制作


How to make a Marker-based Augmented Reality App with Unity and Vuforia

朱亚超, 广西科技大学数字媒体技术教研室,2017-6-5

参考文献:https://library.vuforia.com/articles/Solution/Getting-Started-with-Vuforia-for-Unity-Development 



1. 准备工作

1.1 下载和安装Unity

本例,使用Unity5.6,下载地址 :https://store.unity.com/download?ref=personal

安装完毕后,新建一个3D项目(命名为AR),在Projects中,新建以“_Scenes”、“Scripts”和“Prefabs”命名的文件夹。并将场景保存在“_Scenes”文件下,命名为"Main"。

1.2 下载Vuforia  for Unity

本例,使用Vuforia for Unity 6.2(SDK名字为:vuforia-unity-6-2-10.unitypackage),下载地址 :https://developer.vuforia.com/downloads/sdk

1.3下载图片和模型

图片,用于标记。本例,使用100元人民币,下载地址 :http://s1.trueart.com/20111010/123840186.jpg

动画模型,在Unity Asset Store中搜索和下载一个免费模型,并将其导入本AR项目中。本例,使用HH-65C Dauphin模型(直升机,Unity Asset Store中可下),下载地址 :https://www.assetstore.unity3d.com/en/#!/content/8128

2.配置Vuforia

2.1 注册Vuforia,获取授权码(License Key)

使用邮箱地址,注册开发账号,地址为:https://developer.vuforia.com/user/register

检查邮件,激活Vfuoria账号。登录Vuforia,点击“Develop”,进入授权码管理页面(License Manager,地址为 :https://developer.vuforia.com/targetmanager/licenseManager/licenseListing),点击“Add Licenses Key”,选择开发“Development”并给出你的App的名字,点击下一步"Next",勾选确认协议后,点击确认“Confirm”后,Vuforia生成了本App的License Key。点击App名字,进入License Key页面,复制这个License Key。

2.2 上传标记图片,下载数据库

登录Vuforia,点击“Develop”,进入目标管理页面(Target Manager,地址为 :https://developer.vuforia.com/targetmanager/project/checkDeviceProjectsCreated?dataRequestedForUserId=),点击添加数据库“Add Database”,指定数据库名字,选择设备“Device”。创建完成后,点击你的数据库名字,进入添加目标页面,点击添加目标“Add Target”,在类型“Type”栏中,选择单个图片“Single Image”;在文件“File ”栏,使用浏览“Browse”,在本机找到1.3节下载的100元人民币图片的存放路径;在宽度“WIdth”栏,写入“1”;在名字“Name”栏中,键入或使用默认的文件名(这里使用100作为文件名)。然后点击添加“Add”。

图片上传完毕后,在同一页面,勾选文件名后,点击下载数据库“Download Database”,然后选择“Unity Editor”,点击下载“Download”即可。

2.3 在Unity中配置Vuforia

在Unity中导入1.2节下载的SDK安装包“Vuforia-Unity-6-2-10.unitypackage”,Unity中,借助于工具栏“Assets > Import Package > Custom Package ”,然后浏览和定位该SDK包的位置,然后选择导入所有文件“All ”,并选择导入“Import”即可。

导入成功后,首先从Project视图中(Vuforia>Prefabs>ARCamera),将“ARCamera”拖入Hierarchy ,并将Hierarchy中的Main Camera删除。然后,从Project中(Vuforia>Prefabs>ImageCamera),将“ImageTarget”拖入Hierarchy中。

在Hierarchy视图中,选中ARCamera,在Inspector视图中找到“Vuforia Behaviour (Script)”组件中,点击打开Vuforia配置项“Open Vuforia configuration”,将前面复制的授权码,粘贴到App License Key中去。

在Unity中导入导入2.2节下载的数据库安装包“100.unitypackage”,Unity中,借助于工具栏“Assets > Import Package > Custom Package ”,然后浏览和定位该SDK包的位置,然后选择导入所有文件“All ”,并选择导入“Import”即可。

导入成功后,首先从Hierarchy视图中选中ImageTarget,在Inspector视图中,找到“Image Target Behavior(Script)”组件,设置“Database”为“100”后,其他缺失项,则会被自动赋值。

3.原型与测试

如果以上步骤成功完成,那么请点击播放按钮,进入播放模式,进行测试。如果计算机安装有摄像头,则播放模式启动摄像头。虽然啥都没有,但是AR开发的环境,已经配置成功。

在Project视图中,找到1.3节下载和导入的直升机模型(AEgis_Technologies > HH-65C_Dauphin_USCG > HH-65C_Dauphin_USG_Hul2XHi_GearDN),将其拖入到Hierarchy视图,并作为ImageTarget的孩子对象(操作技巧是,拖动直升机模型到Hierarchy的时候,覆盖ImageTarget,等待其变为蓝色,然后释放鼠标)。

再次进入播放模式,进行测试。拿一张100元的人民币,将其与1.3节下载的图案一样的面,对准摄像头,保持不动一段时间(几秒钟),当看到虚拟的直升机停在100元人民币上,即表示开发原型测试成功。

4.原型改进



5.发布




参考文献

推荐阅读更多精彩内容