当前位置:首页 > 阅读 > ARKit初探

ARKit初探

ARKit初探

ARKit主要由三部分组成:

「WWDC2018」-ARKit2 革新 What’s New in ARKit 2

跟踪(Tracking)

跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。

2.场景理解(Scene Understanding)

场景理解通过学习更多关于环境的属性,以对水平平面进行检测,如地面或桌面;iOS 11.3开始还支持检测垂直平面。这些在场景中平面可用于放置虚拟物体。此外,场景理解还会了解当前环境的光照情况,以提供光照信息用于在虚拟场景中反映真实环境,避免过亮或过暗。

3.渲染(Rendering)

通过ARKit可以很容易地集成你所选的渲染引擎。ARKit可通过SceneKit和SpriteKit渲染。Xcode中还提供了Metal模板,方便快速地开始你的增强现实体验(augmented reality experience)项目。此外,Unity和Unreal也已经集成ARKit完整的功能集到他们主流的游戏引擎中,因此你可以通过这些引擎开始使用ARKit。

ARKit 2 新特性

主要新特性如下:

保存与加载地图(Saving and Loading Maps):用于支持持久化与多用户体验的强大新特性。

环境纹理(Environment Texturing):用于更逼真地渲染你的增强现实场景(augmented reality scene)。

图像跟踪(Image Tracking):对真实场景中的2D图像进行跟踪。

物体检测(Object Detection):对真实场景中的3D物体进行跟踪。

人脸跟踪的提升(Face Tracking Enhancements)

话不多说先上干货

1.AR技术简介

ARKit是2017年6月6日,苹果发布iOS11系统所新增框架,它能够帮助我们以最简单快捷的方式实现AR技术功能。增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。

ARKit框架提供了两种AR技术,一种是基于3D场景(SceneKit)实现的增强现实,一种是基于2D场景(SpriktKit)实现的增强现实

误区解读

ARKit虽然是iOS11新出的框架,但并不是所有的iOS11系统都可以使用,而是必须要是处理器A9及以上才能够使用,苹果从iPhone6s开始使用A9处理器,也就是iPhone6及以前的机型无法使用ARKit

开发的环境

1.Xcode版本:Xcode9及以上

2.iOS系统:iOS11及以上

3.iOS设备:处理器A9及以上(6S机型及以上)

4.MacOS系统:10.12.4及以上(安装Xcode9对Mac系统版本有要求)

下来进入小项目实战

ARKit物体跟随相机移动流程介绍

1.搭建环境

2.搭建ARKit工作环境

3.开启AR扫描

4.点击屏幕添加一个3D虚拟物体

搭建环境

1.ARSCNView是UIView的子类的子类,所以从理论上来说,我们应用框架UIKit是可以加载AR场景的

2.给界面添加一个按钮开启AR之旅,创建一个ARSCNViewController:继承于UIViewController,点击按钮跳转到自定义ARSCNViewController

搭建ARKit工作环境

一个完整的ARKit工作环境必须要搭建三个对象:ARSCNView(一旦创建,系统会帮我们创建一个场景Scene和相机),ARSession(开启AR和关闭AR都是靠它),ARSessionConfiguration(少了会话追踪配置,AR会话是无法独立工作的)

pragma mark -搭建ARKit环境

开启AR扫描

我们只需要先将AR视图添加到当前UIView中,然后开启AR会话即可开始我们的AR之旅

这里需要特别注意的是,最好将开启ARSession的代码放入viewDidAppear而不是viewDidLoad中,这样可以避免线程延迟的问题。

点击屏幕添加一个3D虚拟物体(飞机)

默认情况下,节点SCNNode的x/y/z位置是(0,0,0),也就是摄像头所在的位置,每一个ARSession在启动时,摄像头的位置就是3D世界的原点,而且这个原点不再随着摄像头的移动而改变,是第一次就永久固定的

点击屏幕添加飞机

下面就快拿起你的手机测试吧!!

想要视频教程,代码资料的小伙伴可以加QQ群:686183764 免费领取哦!

以上就是(ARKit初探)全部内容,收藏起来下次访问不迷路!