WWDC2017学习ARKit体验WWDC2017学习ARKit体验

目录[+]

Top

前言

增强现实技术(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 国际许可协议进行许可。