《ARKit视觉风暴》是子羽于2019年录制的iOS端AR技术教程。在研究技术的时候从头到尾把 ARKit 开发时可能会遇到的坑踩了一遍,并且将开发过程尽可能的详细讲解。在牺牲了发量的代价下,终于录制完了这套****,就算是零基础的同学也可以根据本套教程学会iOS端AR应用开发,希望帮助大家能够快速的学习ARKit技术,最终实现想要的效果。
本套课程从技术理念到项目实践,教大家系统掌握ARKit技术开发,随心打造iOS端AR增强现实应用。由一开始的开发环境搭建,到Unity ARKit Plugin、ARFoundation ARKit等不同时期技术的讲解。从平面模型放置、识别图片、手势交互、3D物体识别、面部AR贴纸、光照估计、环境探针、多人AR技术,甚至包含ARKit3.0的动作捕捉技术等。除了以上课程内容,更加入了随着技术更新与时俱进更新的ARKit连载技术教学内容。
相信各位同学已经迫不及待了,好了,接下来让我们开始ARKit之旅吧 !
1.ARKit的**今生
ARKit是苹果在2017年WWDC推出的AR开发平台。开发人员可以使用这套工具为iPhone和iPad等iOS设备创建增强现实应用程序。
2.ARKit 有哪些强大功能 ?
(一) 物体识别技术(Object Detection)
ARKit Object Detection 可以扫描并检测现实世界中的3D物体。然后根据扫描结果,叠加虚拟内容。
在 ARCore 现阶段不支持物体识别技术,Vuforia等AR技术就物体识别、模型识别功能去水印收费的情况下,ARKit 是市面上屈指可数的免费AR物体识别技术。
(二) 虚实难辨——环境探针(Environment Probes)
ARKit Environment Probes可以在光滑的虚拟物体表面上反射出现实世界的环境。
(三)通过 AR WorldMap 实现锚点持久化
ARKit的WorldMap技术为我们提供了建立两台或多台iOS 12设备共享AR体验的解决方案。使用Multipeer Connectivity 框架在附近设备之间传输ARKit世界地图数据,为AR体验创建共享基础。WWDC 2018上展示的多人AR游戏SwiftShot就是用这项技术来实现的。
(四)实现人物遮挡效果 (People Occlusion)
ARKit提供了物体遮挡和人物遮挡功能,可以创造更具有沉浸感的AR体验效果。
使用基于机器学习的身体检测来呈现人体、手和脚遮挡虚拟物体的情况。
ARKit 已经将这个功能比较复杂的算法部分实现了,我们可以直接使用。
(五)电影级特效——动作捕捉 (Capturing Body Motion)
ARKit 的 Capturing Body Motion 通过跟踪物理环境中的人物动作,并通过将相同的身体动作应用于虚拟人物上,实现了简单的动作捕捉。
动作捕捉技术是一种能够将真实人物的动作、表情完美赋予给虚拟人物的技术,在电影领域有广泛的应用。在《阿凡达》、《猩球崛起》、《战斗天使:阿丽塔》等著名科幻电影中有广泛的应用。
动作捕捉技术的成本十分高昂,原本只有极为专业的领域才有所应用,ARKit 使动作捕捉技术实现了民用,虽然现阶段比较基础,无法和电影级的动作捕捉相比,但仍然值得肯定。动作捕捉技术为AR开发创造了更多的可能性。
(六)前后镜头双开
通过ARKit我们可以同时使用前置和后置摄像头,在捕捉面部动作或眼睛注视的同时,将虚拟内容放置在后置摄像头的世界中。
iOS设备配备了两个摄像头,每个ARKit会话都需要选择要增加的摄像头。从ARKit 3开始,我们可以从ARKit同时提供的两台摄像机获取数据,但仍然一次只能显示一个相机的画面。
2.ARKit 的生态优势
(一)强大的硬件设备
1.良好的硬件生态体系 : 从iphone 6s/se开始,之后版本的所有手机都支持ARKit。
2.苹果手机全球占有率在10%左右,iPhone系列近几款产品全球销量第一;
3.深度摄像头所采用的结构光技术在业内保持领先。
(二)优秀的技术开发者
1.苹果的开发者十分给力,最近几年的WWDC上ARKit都有较大的技术更新。
2.2019年的WWDC上推出的人物遮挡和动作捕捉目前在业内都是独一无二的。
3.优秀的iOS AR开发者致力于使用ARKit技术创造更多AR应用;
(三)应用市场
AppStore 作为 iOS 平台唯一的应用商店,拥有广泛的活跃用户,我们用ARKit开发好应用后,可以直接上架到AppStore,让用户更方便的找到并且使用。
据行业报告统计,仅2019年苹果商店上线AR应用就超过4000款,包括游戏、工具、旅游、商务等多个类型。苹果为此特地在AppStore中设置了AR游戏和AR应用的专栏,并为用户推荐优质iOS 平台AR应用。
(四)有关AR眼镜的传闻
在几年前,就有传闻说苹果正在秘密研发AR眼镜,后来也确实得到了证实。苹果申请了数以千计的AR眼镜及技术相关专利,发展ARKit很有可能是为AR眼镜产品做准备。一旦苹果的AR眼镜上市,ARKit也将大放异彩。
3.RealityKit 和 Reality Composer
(一)Reality Kit
RealityKit 是一个全新的AR框架,具有非常逼真的渲染、环境反射、动画、物理等效果,专为增强现实而构建。自ARKit 3.0起,底层技术由SenseKit转换为Reality Kit,ARKit的增强现实能力进一步升级。
(二)Reality Composer
苹果为不会编程的美术、设计类开发人员提供了Reality Composer,通过Reality Composer这款软件,通过简单的拖、拉、拽,无需编程就可以实现AR开发。
苹果希望通过 RealityKit和Reality Composer ,iOS开发人员无需再学习Unity或虚幻引擎等游戏引擎工具,苹果致力于将Reality Kit打造为iOS开发人员更熟悉和更简单的选择。
但是大家不用担心,虽然ARKit的性能很强大,但只支持iOS设备(如手机、平板)以及未来的苹果XR头显。我们作为开发者不可能只使用苹果的设备,当今AR市场风云变幻,除了安卓平台的ARCore还有Vuforia、HuaweiAR、SenseAR、EasyAR、VoidAR等群雄涿鹿。在MR眼镜平台,有微软的Hololens MRTK、创业公司Magic Leap,以及国内众多MR眼镜厂商自己的开发平台。
Unity是目前唯一能同时开发以上众多AR底层技术,甚至MR眼镜端应用的3D开发工具。而ARFoundation也证实了其建立XR开发生态的野心。凭借多年游戏开发积累的广泛开发者用户群体,以及抢先一步在XR领域着重布局,因此Unity在XR领域的开发工具地位很难被动摇。
本套教程使用Unity进行教学,主要原因是因为使用Reality Composer开发成本比较高,一方面要熟练掌握Swift语言,对于学员入门来说学习成本太大,开发难度激增,Reality Composer目前使用时的灵活性和扩展性目前也远不如Unity。
以上是有关 ARKit视觉风暴的一个简单介绍,ARKit中常见的平面检测、图像识别等基本的功能在这里就不多赘述了,在后面的教程中再为大家详细讲述。
下节课,我们将讲解 ARKit的开发环境搭建,正式开始ARKit开发之旅。
本篇博客到此结束,感谢各位的观看,如果想要更快速的学习ARKit技术的话, 就来观看 《ARKit视觉风暴》了解更多内容吧!