首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Vuforia开发简单的AR作品

在5月16日的分享会上,厉嘉臣学长为大家简单介绍了一下移动端AR的概况,并且基于Vuforia平台制作了一个简单的AR demo。

厉嘉臣学长首先给大家介绍了一下AR的相关原理。增强现实(AR)是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。而目前移动端的AR相对比较简单,其实就是用摄像机捕捉到真实世界的某块平面,然后把这块平面与摄像机的相对位置传送给程序,最后把虚拟物体投射到这块平面上,就能达到一个简单的增强现实效果了。需要达到这样的效果需要有相应的技术支持,这就是我们所谓的AR应用程序软件平台(AR SDK)。

AR SDK基本分为几个主要功能。

1)动作捕捉:使用手机的传感器和相机,ARCore可以准确感知手机的位置和姿态,并改变显示的虚拟物体的位置和姿态

2)环境感知:感知平面,比如你面前的桌子、地面,在虚拟空间中准确复现这个平面

3)光源感知:使用手机的环境光传感器,感知环境光照情况,对应调整虚拟物体的亮度、阴影和材质,让它看起来更融入环境。

目前市面上有三款比较主流的AR SDK能支持unity进行AR的开发。分别是Vuforia,ARcore和ARkit。

ARcore是谷歌公司研发的AR SDK,软件开发者现在就可以下载它去开发Android平台上的增强现实应用,或者为他们的App增加增强现实功能。ARcore支持动作捕捉,环境感知与光源感知。是一个比较完善的AR SDK。缺陷在于目前只支持谷歌手机以及新版的三星手机,能支持的手机不多,开发成本略高。

ARkit是苹果公司研发的AR SDK,同样也支持动作捕捉,环境感知与光源感知,支持ARKit的iOS设备为iPhone SE、iPhone6s、iPhone 6s Plus、iPhone 7、iPhone 7 Plus、iPad Pro (所有型号)、9.7英寸iPad(2017款)。缺点在于开发成本也相对昂贵,除了需要一部支持ARkit的设备以外,还需要一台支持苹果系统的电脑以及一个一年99美元的开发者账户。

Vuforia相对前几者而言相对简单,适合初级入门。它的原理其实就是图像识别,通过分析一张图片来确定一个平面,然后在这个平面上进行创作。不过目前暂不支持环境感知与光源感知,必须要通过特定的图片来识别平面,Vuforia的优势在于识别出来的平面相对而言比较稳定,只要摄像机能捕捉到有图片,那识别的平面基本不会出现抖动或者错位,这一点是环境感知暂时无法超越的地方。除此之外,Vuforia开发成本相对较低,并且支持大多数安卓系统。

在介绍完AR的相关知识之后,厉嘉臣学长以Vuforia为例,把整个制作AR程序的流程介绍了一遍。首先需要上Vuforia的官网上传一张你需要识别的图片。

以上图为例,图片上传完成之后,网站会自动帮你分析这张图片的识别度高不高,是否有可观的识别点来进行后续的平面识别计算,网站会进行一个星级评判,星级越高,图像识别能力越强。

该图的分析结果为四颗星,图片中的黄色十字星代表了这张图片的识别点,程序会根据这些识别点的相对位置识别出是否是这张图片,并且根据这些识别点的位置生成一个平面。确定图片可用之后就可以下载网站为该图片生成的package包,直接导入unity即可。

进入unity后,需要在unity的playersettings中勾选Vuforia Augmented Reality Supported可用,然后删除场景中的默认Camera,新建Vuforia的ARCamera和Vuforia的ImageTarget,在ARCamera中需要输入Vuforia账户的序列号,然后在ImageTarget中的Database选中需要识别的图片即可。最后只需要把需要展示的物体或者游戏场景放在ImageTarget下就可以了。

以下是最后的效果。

(审稿:柳喆俊)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180601G0P9W600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券