什么是现实增强(Augmented Reality)
现实增强是在真实世界中加入计算机所构建的虚拟物体, 通过对真实世界所采集的信息的分析, 虚拟物体可以跟真实世界中的物体互动, 比如遮挡, 碰撞等, 让使用者产生错觉, 如同虚拟物体真实存在于世界. 此技术涉及很多复杂技术, 包括3D建模, 真实感图形绘制, 视频与图像分析等.
其实现实增强技术在电影拍摄中早有应用, 空中大掼篮里动画人物 兔八哥等跟当时的NBA巨星 迈克尔乔丹等 同台竞技, 后来的电影, 如蓝精灵, 魔法奇缘等, 越来越多的出现动画人物在真实世界中场景, 其逼真度, 让你惊叹。 不过那些拍摄都是有人工干预的。
随着计算机科学的进一步发展, 完全没有人工干预的AR 已经走入了人们的日常生活, WWDC 2017上, Apple 的ARKit的发布, 更是现实增强科技的一个大的里程碑, 这标志的AR的开发成本和难度大大降低, 未来AR的产品呈井喷式爆发, 是显而易见的。
OpenGL and SceneKit
唐德刚以他的口述历史系列而闻名于世, 尤其是他的《胡适口述自传》一书, 闻名遐迩, 史学界遂有“欲看胡适,先看德刚“之言. 学习Apple的ARKit 也有异曲同工之理.
ARKit 中, 虚拟物体的渲染是通过SceneKit 来实现的(其实按照官方文档, 虚拟物体可以通过SceneKit或者SpriteKit渲染 因为我是从SceneKit开始看的, 所以本文只提SceneKit) 。 所以想理解ARKit背后的原理,掌握其使用, 不能不先学习SceneKit.
SceneKit 是Apple 为了简化OpenGL/Metal的3D渲染的开发而设计的High Lev