三分钟读懂iOS11黑科技——ARKit
2017-09-30

最近,苹果发布了iOS11,新系统中加入了AR组件。在第二十六期T Day(Technology Day)中,互动通的Holly介绍了iOS11的黑科技——ARKit。

1-550×413

AR(Augmented Reality)即增强现实,通俗地说,AR是通过摄像头把虚拟的东西放到真实世界中,在移动摄像头的同时,设备可以持续追踪到虚拟对象。

要掌握AR技术,需要学习多方面的知识,包括物理技术、光学技术和计算机硬件知识等,此外,还需要掌握3D模型软件来完成虚拟对象的创建。

2-550×309

AR发展的时间较短,但主要的科技公司都在积极布局中,其中比较知名的有Tango(2014,谷歌)、Hololens(2015,微软)、Vuforia(高通)、ARKit(2017,苹果)。

ARKit支持在iOS设备中开发AR应用,要求CPU在A9以上,所以目前在iPhone6S及其后的手机中才能体验AR效果。而iPhone 7plus的双摄像头,不仅能够提升手机的拍摄效果,在做深度相机追踪(AR表现)方面也更加出色,这也是苹果布局AR的重要一步。

ARKit主要由三部分组成:追踪(Tracking)、场景理解(Scene Understanding)、渲染(Render)。

追踪

追踪是ARKit的核心和基础,苹果的追踪是基于全局追踪(World Tracking)和视觉惯性里程计(Visual–Inertial Odometry ,简称VIO)进行的。在官方演示中,虚拟对象——椅子看上去是固定在地面上的,其实它本身是不存在的,追踪能够保证在手机移动的情况下,虚拟对象仍然可以保持在固定的位置。看上去AR追踪的是虚拟对象,其实追踪的是这个设备的位置。

3-350

视觉惯性里程计(VIO)是通过使用相机图像以及设备的运动数据,得到设备在物理环境中的相对位置,以及它的方向。

摄像头在3D世界中的概念图,有XYZ轴,六个方向,三条轴的平移和旋转,能定位到运动数据的信息,即六自由度。设备坐标的移动构成AR视觉惯性里程计的运动数据。

4-350×369

在这一过程中,还涉及到“特征点”的捕捉。这里的特征可以是现实世界中的某个角、某个纹理或者是某个边。相机在运动时,生成众多帧图片,ARKit从众多图片中,追踪到固定的点、特征。随着设备的移动,特征点越多,也就越能优化追踪的数据。

5-350×467

场景理解

ARKit要做的是找到一个平面,来放置虚拟对象。当设备静止时,检测出的平面是有大小范围的。平面探测是一个动态的过程,当摄像机不断移动时,检测到的平面也会不断的变化。

6-350

碰撞测试是场景理解的重要一环,对特征点做碰撞测试后,后台处理系统会按由近到远排序返回结果,ARKit利用这些结果,预估平面,通过足够多次数的碰撞测试能够对探测到的平面进行优化。

7-550

在现实中,真实环境的光线是会发生变化的,如果虚拟对象的光线保持不变的话,AR效果看起来就会显得不真实。ARKit能够通过光估计技术把虚拟对象渲染成跟环境差不多的颜色,更真实地展示虚拟对象。

8-550×345

渲染

渲染是AR过程的最后一步,是将虚拟世界、真实世界、追踪的信息以及场景理解的信息,结合在一起,创造一个AR的世界。
目前苹果用的比较多的渲染引擎有:
— SpriteKit,2D引擎。
— SceneKit,3D引擎,主要应用于3D休闲游戏。
— Metal,3D引擎,渲染能力更强,通常用于大型3D游戏。

目前,ARKit在手机端的应用以游戏为主,如The Machines,这种在现实世界中加入虚拟元素的新玩法和互动方式,给游戏玩家带来全新的体验。在品牌传播中,宜家率先推出IKEA Place,通过手机将真实大小的家具即时“塞”到体验者家中特定的位置。

9-550×305

实际上,ARKit在应用中也存在不足,需要开发者们特别注意。
1. 要完美地展示AR效果,有光照条件需求。如果是在很暗的环境中,设备并不能很好地找到特征点,就创建不了平面。
2. 剧烈运动会导致追踪到的图像比较模糊,也会找不到特征点。
3. 需要时间来探测平面,如果没有相应的提示,会在前期造成用户的大量流失。
4. 需要参照物,来优化平面。
如果用ARKit来开发AR应用的话,要对以上问题做处理。例如,设备探测到用户处于比较暗的环境中,应用应该即时提示用户“您当前的环境过暗”;如果用户正在做剧烈运动,也应该做相应的提示,以保证最终呈现的效果。

欢 迎 垂 询
400-697-0018

sales@hdtMEDIA.com


互动通
hdtMEDIA