基于Unity3D和高通VuforiaSDK的AR开发

(整期优先)网络出版时间:2017-08-18
/ 2

基于Unity3D和高通VuforiaSDK的AR开发

刘伟杨希文盼向兴婷

关键词:增强现实(AugmentedReality),Unity3D,教育领域

一、概述及研究现状

增强现实(AugmentedReality),简称AR技术。一种实时的记算摄影机摄影位置及角度并加上相应图形的技术,在显示屏中把虚拟世界叠加到现实世界中,用户可以通过设备与其进行交流互动。

目前,国内的AR技术发展迅速,在教育领域的应用也备受关注,具有广阔的发展前景。国内的AR多应用于儿童教育(出版物)等,随着移动手机性能的提升和AR技术(特别是图片识别技术)的发展,未来AR一定会在教育领域蓬勃发展,并且还会在社交、旅游、军事、医疗、游戏等诸多领域实现成功应用。

二、设计与实现模块

AR制作流程主要有:模型导入Unity—基于高通网站制作识别图——导入SDK,在Unity3D中完成后期制作(动画,模型渲染,脚本驱动,特效,声音等)——打包发布到安卓(Android)平台,下面具体进行介绍。

开发工具的准备:1、基于Unity3D,所以先安装Unity3D,案例所用的版本是Unity3D5.6.1f(64位)的,安装SDK和JDK,保证后续可以发布到Android平台进行测试与应用。2、登录高通Vuforia网站注册账号。

三、识别图模块

制作识别图,首先登录高通Vuforia网站,点击Develop按钮,单击LicenseManager下的AddLicenseKey,在ProjectType选择Development。在ProjectDetails下添加Appname:ARDemo,点击Next,出现刚刚填写的信息,确认无误后,勾选下面的许可确定。点击Confirm,LicenseManager下面会有ARDemo,点击它出现LicenseKey,后期在Unity里面会用到,所以将它复制下来。

再点击TargetManager,点击AddDatabase,在弹出的CreateDatabase中填写Name:AR_Demo,Type选择默认的Device即可,点击Create。在Database出现刚刚创建的AR_Demo,后面有它的信息(Name,Type,Targets,DateModified),Targets为0,要添加图片,点击它,点击AddTarget,在弹出的AddTarget下,我们选择Type为SingleImage,点击File后面的Browse,选择准备好的图片,设置宽度:400,最后点击Add,这是出现UploadingTarget,只需要等待几秒钟,就会看到Target制作完成,这时可以看到选择的图片复杂的Rating(等级),它的值越高代表可识别的点越多,识别也更加容易和准确。制作好后,勾选我们制作的Target,点击DownloadDatabase,在弹出的DownloadDatabase窗口中,选择开发平台(Selectadevelopmentplatform)为UnityEditor,然后点击Download进行下载。下载好后,识别图就制作完成,这时还需要下载VuforiaSDK。点击上面的Downloads按钮,点击DownloadforUnity,在弹出的SoftwareLicense下点击IAgree。

四、Unity3D实现AR模块

打开Unity,新建工程,导入两个*.unitypackage:AR_Demo和vuforia-unity-6-2-10,我们可以直接点击两个带有Unity图标的文件进行导入,也可在Unity菜单栏中选择Asset下的ImportPackage进行导入。删除unity自带的主摄像机MainCamera,在资源Assets目录下找到Vuforia—Prefabs—ARCamera,拖到项目场景中,再将ImageTarget也拖放到场景中,将右侧检视面板中ImagetargetBehaviour下的Type选择AR_Demo),将模型放置在识别图上,调整模型大小和位置,让它处于摄像机中央。设置ARCamera:点击ARCamera右侧的Inspector下的OpenVuforiaconfiguration,将刚刚复制的的LicenseKey粘贴到AppLicenseKey中,并且勾选上Datasets下的LoadAR_DemoDatabase和Activate。

五、发布到Android平台模块

点击菜单栏File—Buildandsettings,选择发布平台Android,点击playersettings,修改PackageName后参数Company,点击AddOpenScenes,然后Build,Unity生成apk可执行文件。最后,通过将生成的apk文件传到Android手机上并进行安装运行,实现预期效果。

六、结论与展望

本文的AR制作基于在Unity3D中完成相关测试,最后打包发布成APP安装到Android手机上,运行APP通过手机摄像机即可实现增强现实的效果,完美展示模型与现实的叠加。本文为从事AR相关开发的工作人员提供指导,也为在教育领域苦苦寻找更加高效的教学模式的教育工作者提供参考。本文只是简单的实现了AR,添加了360°查看模型的控制脚本及移动、旋转、缩放等功能,对于这个APP还有许多可以进行深度开发的地方,可以增加其可识别的图片数量,并提供更加强大的语音、动作等交互功能,增加训练、考试等多个环节,最后可以建立数据库,存储和管理用户的个人信息和成绩等。

参考文献:

[1]陈泽婵,陈靖,严雷,张运超.基于Unity3D的移动增强现实光学实验平台[J].计算机应用,2015,(S2):194-199.

[2]徐敏,童强.一种基于Unity3D+Vuforia的增强现实交互App的开发[J].现代计算机(专业版),2016,(12):71-75.

[3]胡智标.增强教学效果拓展学习空间——增强现实技术在教育中的应用研究[J].远程教育杂志,2014,(02):106-112.