ARFoundation之路
文章平均质量分 84
AR开发从入门到实践
_DavidWang_
计算机硕士,全国信标委虚拟现实与增强现实标准工作组成员(CNITSC)、中国增强现实核心技术产业联盟成员(CARA)、华为HDE(Huawei Developer Experts)、Unity UVP(Unity Valuable Professional)、CSDN博客专家,主编国家级团体标准1项,参与国家级标准编写1项,授权和在审发明专利十余项,软件著作权若干。专注图形学/XR开发,著有《基于Unity的ARCore开发实战详细讲解》、《AR开发权威指南-AR Foundation》、《ARKit原生开发入门精粹》、《HoloLens2开发入门精要-基于Unity和MRTTK》等书籍6本。
展开
-
关于出版《AR Foundation增强现实开发实战(ARKit版)》(2023-04-05更新)
ARKit是苹果公司在前沿科技领域的重大技术布局,也是目前移动领域AR应用开发引擎标杆。得益于良好的软硬件生态整合,ARKit运动跟踪稳定性好、性能消耗低、功能特性丰富,利用它可以开发出令人惊艳的AR应用。ARKit支持iPhone和iPad设备,并且可以预见,其也必将支持即将面世的iGlass眼镜设备。 本书是《AR Foundation增强现实开发实战(ARCore版)》的姊妹版,讲述利用ARKit进行iOS/iPadOS平台的AR应用开发,从AR技术概念、原理、理论脉络到各功能技术点、实用技巧、原创 2022-09-11 21:51:24 · 3209 阅读 · 47 评论 -
关于出版《AR Foundation增强现实开发实战(ARCore版)》(2022-09-15日更新)
在元宇宙科技浪潮推动下,增强现实(Augmented Reality,AR)技术过去一年来受到了广泛关注,并迅速成为科技巨头和初创企业竞先入局的科技赛道。客观而言,元宇宙仍处于行业发展的初级阶段,无论是底层技术还是应用场景,与预期的成熟形态相比仍有相当大差距,但这也意味着元宇宙相关科技和产业发展空间巨大。做为元宇宙中最核心的增强实现技术是实现虚实融合、实现新型人机交互模式的关键,必将在接下来的十年中获得长足进步和发展。 本书基于AR Foundation框架,采用URP渲染管线,讲述利用ARCore原创 2022-03-20 20:42:27 · 2981 阅读 · 36 评论 -
关于出版《AR开发权威指南-ARFoundation》(2020-10-19更新)
各位读者,经过七个月的创作,《ARFoundation之路-AR开发从入门到实践》已完成85%的内容。本书充分借鉴了《ARCore之路-Unity开发从入门到实践》在内容编排与写作上的经验教训,更加注重对技术的实际运用,力图解决读者在项目开发中面临的难点问题,剔除了技术繁杂无法实用的部分。 《ARFoundation之路-AR开发从入门到实践》共分13章,会在2019年11月底完成全部创作...原创 2019-10-30 15:35:10 · 6869 阅读 · 81 评论 -
ARFoundation之路-3D物体识别之一
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 3D物体跟踪技术,是指通过图像处理技术对摄像头中拍摄到的3D物体识别定位并对其姿态进行跟踪的技术。3D物体跟踪技术的基础也是图像识别,但比前述图像识别跟踪要复杂得多,原因在于现实世界中的物体是三维的,从不同角度看到的物体形状、纹理都不一样,在进行图像对比时需要的数据比2D图像识别要多得多。 在ARFoundati...原创 2019-08-14 14:02:37 · 11091 阅读 · 18 评论 -
ARFoundation之路-3D物体识别之二
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在获取到参考物体的空间特征信息Elephant.arobject文件后就可以将其做为参考物体进行真实环境3D物体的检测识别跟踪了。虽然3D物体检测识别跟踪在技术上与2D图像检测识别跟踪有非常大的差异,但在ARFoundation中,3D物体识别跟踪与2D图像识别跟踪操作几乎完全一致,这大大的方便了开发者的使用。(一...原创 2019-08-14 17:51:30 · 5026 阅读 · 2 评论 -
ARFoundation之路-AR阴影生成之二
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在前节中,我们使用Unity内置的Shadow生成算法生成了阴影,在使用Soft Shadow时,如果想得到更加柔和的阴影,就需要调高Quality Level、Shadow Resolution、Shadow Cascades设置值,但调高这些参数会对性能产生比较明显的影响。本节我们使用一个免费的Unity插件Dy...原创 2019-08-10 23:15:06 · 1466 阅读 · 2 评论 -
ARFoundation之路-AR阴影生成之三
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 Unity自带的Shadowmap阴影与Projector投影阴影生成方式都具有普适的特点,适用范围广,并且均是通过物理的方式生成阴影,因此阴影能够投射到自身以及不规则的物体表面,与场景复杂度没有关系。但通过前面的学习我们也可以看到,这两种生成阴影的方法在带来较好效果的同时,性能开销也是比较大的,特别是在使用高分辨率...原创 2019-08-11 22:10:54 · 1479 阅读 · 9 评论 -
ARFoundation之路-人脸检测增强之一
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在AI物体检测识别领域,最先研究的是人脸检测识别,目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场车站闸机、人流控制、安全支付等众多社会领域,也广泛应用于直播特效、美颜、Animoji等娱乐领域。(一)人脸检测概念 人脸检测(Face Detection)是利用计算机在数字图像或视频中...原创 2019-08-21 09:30:29 · 3557 阅读 · 0 评论 -
ARFoundation之路-3D物体识别之三
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 3D物体检测识别跟踪技术上比2D图像检测识别跟踪要复杂得多,但ARFoundation对这两种技术进行了统一,提供给开发人员完全一致的使用界面,大大方便了应用开发。(一)3D物体跟踪启用与禁用 在ARFoundation中,实例化出来的虚拟对象并不会随着被跟踪物体的消失而消失,而是会继续停留在原来的位置上,与2...原创 2019-08-15 22:11:20 · 3703 阅读 · 25 评论 -
ARFoundation之路-人脸检测增强之三
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 ARFoundation在进行人脸检测时需要借助底层Provider提供的算法及功能特性,不同的底层能提供的功能特征也不相同,如在ARCore人脸检测中,提供人脸区域的概念与功能,而在ARKit人脸检测中,则提供Blend Shape功能。(一)人脸区域 ARCore在进行人脸检测时其实是同时运行了两个实时深度...原创 2019-08-25 20:03:40 · 3292 阅读 · 2 评论 -
ARFoundation之路-人脸检测增强之二
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 前节所述使用“标准模型”匹配人脸以检测人脸姿态是众多人脸姿态检测方法中的一种,实际上,人脸姿态估计还有很多,如柔性模型法、非线性回归法、嵌入法等等 。在计算机视觉中,头部姿势估计是指推断头部朝向,结合AR位置信息构建人脸矩阵参数的能力,有利因素是人体头部运动范围是有限的,可以借此消除一些误差。(一)人脸姿态 人...原创 2019-08-22 21:21:34 · 3936 阅读 · 16 评论 -
ARFoundation之路-AR阴影生成之四
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在前述章节中,我们实现的阴影都是实时阴影,阴影会根据虚拟物体的形状、移动、灯光而产生变化,实时阴影在带来更好适应性的同时也会消耗大量计算资源,特别在移动设备上,这会挤占其他功能的正常运行资源,造成应用卡顿。在VR中,我们可以将光照效果烘焙进场景中以达到提高性能的目的,然而由于AR场景就是真实环境,无法预先烘焙场景(在...原创 2019-08-26 16:00:39 · 1523 阅读 · 5 评论 -
ARFoundation之路-视频播放
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在AR中播放视频也是一种常见的需求,如在一个展厅中放置的虚拟电视上播放宣传视频,或者在游戏中为营造氛围而设置的虚拟电视视频,本节我们将学习如何在AR场景中播放视频。(一)VideoPlayer组件 VideoPlayer是Unity一个跨平台播放视频的组件,这个组件在播放视频时会调用运行时系统本地的视频解码器,...原创 2019-09-03 11:44:11 · 2510 阅读 · 2 评论 -
ARFoundation之路-人脸检测增强之四
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 苹果公司在iPhone X及后续机型上添加了一个深度摄像机(TrueDepth Camera),利用这个深度摄像机可以更加精准捕捉用户的面部表情,提供更详细的面部特征点信息。(一) BlendShapes 利用深度摄像机采集到用户面部表情特征,ARKit提供了一种更加抽象的表示面部表情的方式,这种表示方式就叫B...原创 2019-09-26 12:42:42 · 5729 阅读 · 18 评论 -
ARFoundation之路-AR阴影生成之一
阴影在现实生活中扮演着非常重要的角色,通过阴影我们能直观的感受到光源位置、光源强弱、物体离地面高度、物体轮廓等,在大脑中构建环境空间信息。阴影的产生与光源密切相关,阴影的产生也与环境光密切相关。阴影还影响人对空间环境的判断,是构建立体空间信息的重要参考因素。 与真实世界一样,在数字世界中阴影的生成也需要光源,同时,在AR中阴影生成与 VR 相比有很大不同,VR是纯数字世界,在其环境中肯...原创 2019-08-06 16:26:38 · 3501 阅读 · 18 评论 -
ARFoundation之路-Environment Probe之二
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在ARFoundation中,环境反射功能可以使虚拟物体反射真实世界中的环境信息,从而更好的将虚拟场景与真实世界环境混合。(一)使用Environment Probe AR环境反射是一个高级功能,需要学习掌握相关知识才能运用自如。在ARFoundation使用环境反射的基本步骤如下:1、在场景中的AR Ses...原创 2019-07-26 18:55:45 · 1717 阅读 · 12 评论 -
ARFoundation之路-Environment Probe之一
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在AR中实现环境光反射是一项非常高级的功能,也是增强AR虚拟物体可信度的一个重要组成部分,因为AR中对环境光的估计信息往往都不完整,需要利用人工智能技术推算补充不完整的环境信息,因此,AR中的环境反射不能做到非常精准。(一)Cubemap Cubemap,中文翻译为立方体贴图,通常用来做环境映射,Unity中的...原创 2019-07-26 12:15:12 · 1926 阅读 · 0 评论 -
ARFoundation之路-环境配置(Android)
ARFoundation支持跨平台开发,但是开发环境配置与发布部署却差异较大,因此,环境配置将分成Android与iOS两篇来讲解。 ARFoundation在Android端使用的是ARCore的底层技术,因此,环境准备与单独使用ARCore进行开发相似,请参见博文《ARCore之路-环境准备》(不需要安装ARCore unity SDK ),本文假设读者已经安装Unity2019.1最...原创 2019-06-21 08:42:58 · 14676 阅读 · 130 评论 -
ARFoundation之路-概述
(一)、什么是ARFoundation 2017年,Apple公司与Google公司相继推出了各自的AR开发SDK工具包ARKit和ARCore,分别对应iOS平台与Android平台AR开发。ARKit和ARCore推出后,极大的促进了AR在移动端的普及发展,将AR从实验室带入到普通消费场景中。由于当前的移动手机操作系统主要由iOS与Android两大系统统治,ARKit和ARCore分别服...原创 2019-06-11 18:41:19 · 27050 阅读 · 5 评论 -
ARFoundation之路-环境配置(iOS)之二
(一)AppController 在Project窗口Scripts文件夹下,空白处点击鼠标右键,在弹出的级联菜单中依次选择Create -->C# Script,新建一个脚本文件,并命名为AppController,如下图所示。 鼠标双击AppController脚本,在Visual Studio中编辑该脚本,添加如下代码。using System.Collections.Ge...原创 2019-06-25 22:09:43 · 3082 阅读 · 34 评论 -
ARFoundation之路-可跟踪对象
在ARFoundation中,平面(Plane)、特征点云(Point Cloud)、参考点(Reference Point)、增强图像(Tracked Image)、环境探头(Environment Probe)、人脸(Face)、3D物体(Tracked Object)这七类对象称为可跟踪对象(trackable),也即是说ARFoundation目前可以实时的跟踪处理这七类对象。当然,这...原创 2019-07-01 17:25:42 · 5703 阅读 · 16 评论 -
ARFoundation之路-环境配置(iOS)之一
前文我们讲述了ARFoundation开发Android应用的开发环境配置与发布部署,本文主要讲述在Mac电脑上使用Unity开发ARFoundation AR应用的环境配置与发布部署,ARFoundation在iOS端使用的是ARKit的底层技术,并且Unity工程不能一次性发布成iOS包文件,Unity利用ARFoundation发布iOS AR应用需要分为两步:第一步使用Unity生成X...原创 2019-06-24 08:06:18 · 6279 阅读 · 10 评论 -
ARFoundation之路-Raycasting
(一)射线检测概念 Raycasting,直译为射线投射,通常我们根据它的作用称为射线检测,射线检测是在3D数字世界里选择某个特定物体常用的一种技术,如在3D、VR游戏中检测子弹命中敌人情况或者从地上捡起一支枪,都要用到射线检测。 在AR中,当我们检测并可视化一个平面后,要在平面上放置我们物体,但在平面上什么位置放置我们物体呢?我们要知道检测到的平面是三维的,而我们的手机屏幕却是二维的,如...原创 2019-07-03 09:47:31 · 5128 阅读 · 3 评论 -
ARFoundation之路-平面管理
平面检测是很多AR应用的基础,无论是ARKit还是ARCore,都提供平面检测功能。同时,平面也是可跟踪对象,在前几节中我们知道,ARFoundation使用ARPlaneManager管理器来管理平面。(一)平面检测管理 AR中检测平面的原理:ARFoundation对摄像机获取的图像进行处理,分离图像中的特征点(这些特征点往往都是图像中明暗、强弱、颜色变化较大的点),利用VIO和IM...原创 2019-07-08 18:57:30 · 6987 阅读 · 6 评论 -
ARFoundation之路-ARSession & ARSessionOrigin
在之前的工程里,我们首先在Hierarchy窗口中添加了ARSession和ARSessionOrigin两个对象,这两个对象构建起了AR应用的最基础的框架,所有其他工作都在这基础之上展开,那么,这两个对象在整个AR应用中起什么作用?(一)ARSession ARSession对象主要包括两个组件,一个就是ARSession,管理Session,另一个是AR Input Manager...原创 2019-06-28 08:52:27 · 7511 阅读 · 10 评论 -
ARFoundation之路-平面管理之二
ARFoundation使用ARPlaneManager来管理平面让开发者管理平面检测功能变得非常容易。在实际应用开发中,我们通常都会碰到开启与关闭平面检测功能、显示与隐藏被检测到的平面的问题,利用ARPlaneManager可以方便的实现这些需求。(一)开启与关闭平面检测 在之前的章节中,我们学习过,ARPlaneManager负责管理检测平面相关工作,其有一个属性enabled,设置...原创 2019-07-14 17:34:27 · 4257 阅读 · 9 评论 -
ARFoundation之路-点云与参考点
AR 是对现实环境的增强,运动跟踪可以解决用户在现实环境中自己在哪里的问题,但运动跟踪本身并不能解决用户周边环境是什么的问题,运动跟踪不能识别出平面,也不能识别出物体,但 AR 应用必须要能理 解其本身所处的环境,这样才能为用户带来沉浸感和真实感,特别是如果要多人共享同一个体验,那 AR 应用必须要能识别和融合多用户环境。(一)点云 特征点是指 ARFoundation 通过 VIO 检...原创 2019-07-18 21:52:21 · 6952 阅读 · 9 评论 -
ARFoundation之路-光照估计
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。(一)光照一致性 AR 与 VR 在光照上最大的不同在于 VR 世界是纯数字世界,有一套完整的数学模型,而 AR 则是将计 算机生成的虚拟物体或关于真实物体的非几何信息叠加到真实世界的场景之上实现对真实世界的增强,融 合了真实世界与数字世界。就光照而言,VR 中的光照完全由开发人员决定,光照效果是一致的,而 AR 中...原创 2019-07-23 21:36:01 · 4942 阅读 · 6 评论 -
ARFoundation之路-图像跟踪
图像跟踪技术,是指通过图像处理技术对摄像头中拍摄到的2D图像进行定位,并对其姿态进行跟踪的技术。图像跟踪技术的基础是图像识别,图像识别是指识别和检测出数字图像或视频中对象或特征的技术,图像识别技术是信息时代的一门重要技术,其产生目的是为了让计算机代替人类去处理大量的图形图像及真实物体信息,因而成为其他许多重要技术的基础。(一)图像跟踪基本操作 在ARFoundation中,图像跟踪系统依...原创 2019-07-20 09:45:20 · 14401 阅读 · 103 评论 -
ARFoundation之路-AR子系统
版权声明:Davidwang原创文章,严禁用于任何商业途径,授权后方可转载。 在前文中,我们知道,ARFoundation的体系架构是建立在一系列的子系统(subsystem)之上,这个架构的好处类似于接口(Interface),将界面与具体的实现进行分离,用户只需要面向接口编程,而无需关注具体的算法实现(这个具体的算法提供者就叫Provider,Provider这里指实现具体算法的包或者插件...原创 2019-07-21 11:55:50 · 2906 阅读 · 2 评论 -
ARFoundation之路-架构及术语
(一)ARFoundation功能概述 在前文中我们知道,ARFoundation只是对ARCore和ARKit的再次封装,ARFoundation并不实现AR的底层功能,换句说,ARFoundation只是一个功能的搬运工,因此,底层API没有的功能,ARFoundation也不可能有(ARFoundation会添加一些辅助功能以方便开发者开发AR应用)。同时,ARFoundation能实现...原创 2019-06-13 17:21:45 · 8006 阅读 · 3 评论