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初探)全部内容,收藏起来下次访问不迷路!