WWDC2017学习ARKit体验

iOS增强现实技术实践

Posted by 戴伟来,李清发 on June 25, 2017

目录[+]

Top

WWDC2017学习ARKit体验

前言

增强现实技术(Augmented Reality,简称 AR),就想Pokeman go的游戏那样,目标就是在屏幕上把虚拟世界整进现实世界中,并进行互动!

一般AR场景的实现一般有以下: 1、扑捉现实世界呈现在屏幕 2、给现实世界建模 3、传感器追踪 4、坐标识别及转换 5、在建好模的现实世界中呈现虚拟世界的东西(图片、模型等),或者与之交互

ARKit提供了3D场景、2D场景的增强现实,实际是依赖于使用对应的SceneKit、SpriteKit,之所以使用Apple的游戏引擎是因为需要游戏引擎加载物体模型到现实世界的建模中!

ARKit需要iOS10以上的操作系统,A9处理器以上的设备(也就是iPhone6、iPad Air2以上的设备)

官方demo体验

ARKit Demo App: Placing Objects in Augmented Reality 是官方放出的ARKit的demo,需要使用Xcode9以上的IDE才能玩!

1、下载Xcode 9(截至文章完成,Xcode 9已经放出了beta2) 自行到 这里下载Xcode9

iPad上的演示效果

ARKit原理

上面说到ARKit需要SceneKit和SpriteKit的支持!所以ARKit的原理可以概括为: 1、相机捕获现实世界,并实时给这个现实世界建模(ARKit实现) 2、在捕获的图像中展示模型(SceneKit和SpriteKit实现)

对的,原理就这么简单

下图是ARKit和SceneKit的关系

接下来看看ARKit框架中类

其中最重要的是 ARSCNView ARSession ARSessionConfiguration ARCamera

所以在代码层面(可以参阅上文中的官方demo)的具体工作流程可以概括为: 0、使用ARSessionConfiguration创建一个ARSession 1、ARSCNView加载SCNScene 2、SCNScene启动ARCamera捕获场景 3、捕获的场景交给ARSession(建立现实世界的模型) 4、给ARSCNView添加各种节点(3D模型)

如下图

结语

这篇文章只是对于ARKit初体验的一点点感悟,深入使用的话还涉及到建模、材质渲染等设计方面的知识,游戏开发的各种坐标的转换与计算(难点!),当然还有就是创意了!

个人认为!ARKit是苹果开发的一个新方向!可预见的未来一定满大街的APP都有这个功能!iOS开发者必学技能系列!!!

知识共享许可协议
文章四川掌麦科技有限公司创作,采用知识共享署名 4.0 国际许可协议进行许可。