在上篇博客中,博主向大家简单又通俗易懂的介绍了AR与AR在手机游戏领域的应用,而这篇文章,博主将教大家如何构建一个AR手机游戏平台。要知道,只有构建平台后,我们才可以开始进行AR游戏的制作。
我们希望的移动端开发平台应该是可以移植到unity中的,因为具体游戏系统和功能的实现是在unity中完善的。下面介绍几种常见的AR移动端开发平台。
1. ARPA SDKs 图像的检测与跟踪、3D对象实时渲染,以及用户和3D对象的交互(比如选择、旋转、缩放)都是ARPA SDK能为iOS、Android构建AR应用时所能提供的功能。其中的ARPA GPS SDK为ARPA SDK补充了基于地理定位的AR功能。而ARPA GLASS SDK和ARPA Unity插件分别为Google Glass和Unity游戏引擎提供的功能与ARPA SDK相似。
2. ARLab SDKs 使用AR Browser SDK你实时的从场景中添加和移除POI,且还可以与它们互动(触摸或将相机指向它们)或对它们执行操作(如发送短信或分享到Facebook上)。
Image Matching SDK允许你使用成千上万的图像去创建自己本地的匹配池(加载本地资源和远程URLs),即使在没有连接网络的情况下,也可以通过它来匹配任何图像,当然它也支持二维码和条形码识别。除了这两个SDK,ARLab即将推出Object Tracking、Image Tracking和Virtual Button SDKs,而以上所提到的所有的SDK都可用于Android和iOS平台。
3.DroidAR DroidAR是一款能为Android应用添加基于位置的AR功能的开源框架。手势检测、支持用户可与之交互的静态和动态的3D对象(使用libGDX游戏框架的模型加载器),且标记检测也是DroidAR所提供功能的一部分。DroidAR项目已托管至Github上,感兴趣的同学可以去看一下。
4.Metaio SDK Metaio SDK支持2D图像、3D对象、SLAM和位置跟踪、条形码和二维码扫描、连续性视觉搜索(通过Metaio CVS实现,无论是离线还是在线状态)、以及手势检测。 Metaio还设计了自己的AR脚本语言,AREL(增强现实体验语言)让你可以使用常见的Web技术(HTML 5、XML、Javascript)去开发自己的AR应用,并将它们部署到任何地方。支持Android、iOS、Windows PC、Google Glass、Epson Moverio BT-200和Vuzix M-100,或是在Unity中使用。
5.Vuforia 多目标检测、目标跟踪、虚拟按钮、Smart Terrain™(新型3D重构功能)和扩展追踪都是Vuforia SDK的主要特性,支持各种各样的目标检测(如对象、图像和英文文本),特别是Vuforia的图像识别允许应用去使用设备本地和云端的数据库。 Vuforia支持Android、iOS和Unity,不过还有一个版本的SDK是用于智能眼镜的(即Epson Moverio BT-200、Samsung GearVR、ODG R-6和R-7),目前正在测试阶段,且面向部分开发者开放。 6.Wikitude AR SDK Wikitude AR SDK支持图像识别和跟踪,3D模型的渲染和动画(只支持Wikitude 3D格式)、视频叠加、定位跟踪和图像、文本、按钮、视频等。Wikitude AR SDK可用于Android、iOS、Google Glass、Epson Moverio、Vuzix M-100和Optinvent ORA1。此外,还可以作为PhoneGap的一个插件,Titanium的模块,以及Xamarin的组件。
开发AR游戏我常用的是Vuforia平台,它支持的平台比较多,并且比较方便使用。现在,我们进入正题,首先要注册一个Vuforia账号——登陆官网Vuforia官网
注册账号 在注册的时候有些注意事项,详见下图中的红字标注
下载插件资源 在上方的按键中不难发现,主要分为五类:开始教程,帮助文档API,资源包,目标管理,以及相关支持。 我们先点击Downloads这个目录下,下载插件资源。 因为是基于unity的开发,我们选择Unity .
导入Unity3D开始工程文件 下载好的AR插件包,现在我们打开Unity3D,导入插件。(注意:UnityPackage在导入的时候不可以在中文路径下,如果出错了自己检查一下是否有中文路径。) 导入成功后,在unity3D的Project面板里可以看到下载的插件。 其中Editor文件下是编辑器脚本,Plugin文件目录下是插件文件,我们都不需要去动,我们所有的资源和操作都会在图中标示的文件夹里。
完成相机的替换 需要注意的是,我们原有的camera是不能使用的,要用资源包中的AR Camera预设。 现在,新建一个场景,删掉场景中原有的主相机(mainCamera);在Prefabs文件夹下找到ARCamera和ImageTarget两个预设,然后拖入到场景中。 其中AR Camera是负责主渲染相机,无论是做普通的ImageTarget识别,还是三维识别以及后面基于高通云服务器的云识别,场景中都需要这个AR Camera。 ImageTarget是图片识别物以及相关组件,因为插件中已经帮我们把所有的组件绑定在预设上,所以我们只需要直接拖入场景中做相关的设置,就可以实现初步的增强现实案例了。
下一篇博客,博主将给大家介绍如何导入自己的识别图片以及在高通Vuforia上注册新的项目和资源文件。敬请期待哈! 文章部分参照来源 Develop Ereconomics