伴随着 2020 年谷歌开发者大会的落幕,ARCore 开发入门系列课程也迎来了收官之作。上期我们带大家了解了 ARCore 的平台优势,开始起步打造自己的 AR 应用。本期是本系列教程的最后一讲,我们为各位总结了 ARCore 的实用功能,赋能开发者优化 AR 体验。

表面探测与平面创建轻松实现

如今 AR 技术的实现过程需要 ARCore 与智能手机协同工作,来探索并检测平面。这个知识点我们在第二、三讲的课程中就有所涉及。这里所说的平面如同一张网,由网络点和多边形共同构成。ARCore 在表面探测和平面创建的过程中,会投射出来一个节点来识别运行时所需的特征点和平面。一旦 ARCore 找到了足够多的平面特征点,系统就可以开始在空间内放置对象了。

有的时候,虽然环境色调比较单一,光线也较暗,但是 ARCore 仍然能够在欠佳的光线下成功绘制出整个房间的样子并检测到环境中的物体与景深。但是为了给用户带来效果更好的沉浸式体验,仍然要考虑到暗光条件所带来的局限性,在进行 AR 体验时,可以适当提醒用户移动到光线较好的环境中或增加照明。

在这个示例中,ARCore 发现了一个对象,并在对象表面创建了一个平面。但是由于缺乏额外的特征,导致系统判定的对象平面尺寸远远超过其实际尺寸。这会导致 ARCore 为应用创建的平面呈现不当,进而用户无法准确放置数字对象。

用户互动: 命中测试与物体姿态

命中测试——或许之前你从未听过这个概念,但它是 ARCore 打造沉浸式用户体验最关键的一环。因为它可以确定画面中数字对象的姿态。我们这里提到的姿态信息,指的是数字对象的位置与摆放朝向。在 ARCore 用户体验过程中,命中测试的操作紧跟特征点与平面查找之后。

命中测试的工作原理是,从手机的镜头位置“画”出一条线,然后沿线的方向移动直到命中相应平面。这样建立连接后,ARCore 就可以确定数字对象的位置和朝向。

请看上面这个例子,系统需要在真实环境的平面上,正确合理地放置一个三维数字对象,不会倾斜或飘在空中。通过命中测试,软件可以在绘制表面以及理解平面相对位置时,确定这个对象的位置和朝向。利用这项姿态信息,ARCore 可以使虚拟镜头与真实手机镜头的角度保持一致。所以,当数字对象放到真实环境后,数字对象可以面向用户并以合适的角度和阴影进行渲染。

善用锚点,让数字对象“定格”

由于虚拟镜头和智能手机能够识别出数字对象在空间内的位置和朝向,因此当用户移动手机时,系统会利用锚点恰当地进行放置。这种锚定方式可以确保 3D 对象的位置保持不变。有了锚点,即使用户拿着手机在现实环境中进行移动,或是物体移出镜头后再回来,ARCore 也能保证数字对象纹丝不动,就和真实的桌椅一样。

遮挡,成功实现虚实结合

把一个虚拟对象放入现实场景后会发生什么?它会“穿透”家具“飘”在镜头前,还是真实地 “躲避”在树丛或沙发后面?我们在之前的课程中提到过“遮挡”这个概念,它是营造 AR 真实感最重要的关键之一。用户即使在环境中移动手机,数字对象的行为方式也会符合我们的预期。目前,透过对环境深度的理解,ARCore 能够成功实现数字对象与真实物体的遮挡效果。

光估测:匹配虚拟光线与现实光照

ARCore 最大的优势之一就是光估测,让看到的光照与真实的光照保持一致,这样可以大大增加场景的真实感。我们可以通过下面的例子来了解 ARCore 体验中 3D 对象的着色和阴影是如何随着光照的变化而变化。

你注意到数字对象的着色变化了吗?当用户拉上窗帘或关掉所有的灯,数字对象也会随之变暗,这为原本的“虚拟对象”平添了不少真实感。运用 ARCore 的 HDR 环境光,你可以轻松处理复杂的多光源环境的光照模拟、反射及阴影等渲染效果。

多平面测试与空间映射

ARCore 能够同时识别多个表面区域,比如桌子、沙发或地板。数字对象可以根据用户需求被放置在任何一个平面上,而每一平面都有同样的锚定和摆放能力。可以确保数字对象的行为方式具有真实感。

我们常见的数字对象都是由图形系统构成,通过镜头从不同的角度和深度进行渲染,从而达到近大远小的效果。ARCore 会不断从环境中“学习”,所以手机镜头对环境进行空间映射的时间越长,ARCore 对数字对象姿态的理解就越准确。

ARCore 在工作时会假定平面是不动的,而且数字对象不会紧贴镜头进行投射,当镜头被遮挡就会对 ARCore 的识别系统造成干扰。所以,通常情况下要先等到房间或周围环境得到充分映射,且各表面的静态特征确认完毕后再放置数字对象。

让移动 AR 的处理更容易

在用户体验 AR 的过程中,可能会出现同一场景下出现多个数字对象的情况。这时候,想让手机识别过程不降速,就需要手机中的专用处理器。这样的处理器对于移动 AR 领域的持续创新至关重要。基于移动设备的增强现实,需要设备能够同时实现空间映射、深度映射、光估测、特征点识别和平面查找等功能,而这仅仅是一个开始。

巧妙“取景”,避免打破沉浸感

用户在使用 AR 应用时,出于好奇而产生的其他一些行为也会不自觉地破坏沉浸感。举个例子,在放置数字对象后,有不少用户会试图走进数字对象或与之互动,将镜头移到对象内部,进行“越界”操作。这种行为是不符合逻辑的,所以作为开发者,提醒用户恰当取景或设计相对应的内容反馈才能应对这一挑战。

就像拍摄 2D 电影或视频一样,取景是 ARCore 内容制作者一种强大的“工具”。开发者可以利用手机镜头取景,并将数字对象放置在恰当的位置并巧妙引导用户在保证真实感的前提下,趣味互动。在设计 AR 应用时,开发者要确保用户与数字对象的互动是真实有效的。

3D 资源创建工具推荐

工欲善其事,必先利其器。这里给大家介绍 Poly、Unity 两款打造 ARCore 资源的实用工具,丰富你的 AR 应用。

1. 什么是 Poly?

Poly 是一个线上资源库,开发者可以在其中浏览、共享并重新和成 3D 资源。这里说的资源指的是一个 3D 模型或一个应用场景。利用 Tilt Brush、Blocks 或者任何能够生成 Poly 支持文件的 3D 工具都能够创建资源。Poly 支持直接上传 OBJ 文件。许多资源都会采用“知识共享”许可协议,开发者只要注明资源创作者,便可在自己的应用中免费使用这些资源。

欢迎访问 poly.google.com 获得数以千计的 3D 资源,“装饰”你的 AR 应用。

2. Unity 工具该怎么玩?

Unity 是一个热门的搜索引擎,可以为视频游戏、电影等应用场景创造 3D 对象。Unity 会提供从简单到专业的大量工具,简化 3D 对象和环境的创建过程。ARCore 提供了两种不同的 SDK,一个是 AR Foundation with ARCore XR Plugin/ARCore Extensions,另一个是 ARCore SDK for Unity。可以让开发者方便地使用 Unity 来开发 Android AR 应用程序。同时,通过 Unity 开发者可以直接从 Poly 导入数字对象,并通过一系列工具和插件将这些对象轻松接入到应用或游戏、电影场景中,渲染真实体验。

至此,ARCore 开发入门课程全部结束。回顾这五讲内容,我们带你从 0 开始,解密 AR 增强现实技术的发展背景与现存挑战,认识并了解 ARCore 的优势、学习利用 Poly、Unity 等工具创造 3D 资源来丰富自己的 AR 应用。相信通过学习,你对 AR 这项未来科技有了初步的了解与认知。我们也看到了增强现实随着开发技术和工具的逐步完善慢慢真正落地,开始服务于用户。

在未来创造 AR 应用的过程中, Google 也会携手开发者,共同努力不断提升技术与开发工具,挖掘出 AR 的无限潜能。目前本课程现已全部上线,您可前往中国大学 MOOC 官网搜索【Google ARCore 入门开发课程】系统学习 ARCore 开发技术,让科技为生活拓展无限可能。

点击“阅读全文”也可进入学习哦。

【ARCore 入门开发课程系列】ARCore 打造沉浸式体验全过程相关推荐

  1. 构筑立体世界,AR Engine助力B站会员购打造沉浸式营销

    随着购物场景的逐渐多元化,越来越多电商平台把线下购物体验搬到线上,运用AR技术,跨越空间距离,帮助用户在购买前"体验"商品,增强购买意愿. 哔哩哔哩会员购(后称会员购)是B站于20 ...

  2. 新版CSDN浏览器助手打造沉浸式阅读体验,快来看看吧!

    目录 前言 正文 一.新版 CSDN 浏览器助手安装前后页面对比 二.新版 CSDN 浏览器助手的自定义设置 三.为什么选择 CSDN 浏览器助手 四.如何安装 CSDN 浏览器助手 结尾 CSDN浏 ...

  3. 3D沉浸式体验开发技巧【Three.js】

    在本文中,我们将看看如何使用 Three.js 创建一个充满后期效果和微交互的迷你城市. 推荐:将 NSDT场景编辑器 加入你的3D开发工具链. 1.背景介绍 我是一个游戏爱好者. 我一直梦想创建一个 ...

  4. 阿里云视频云互动虚拟技术,打造虚拟直播最佳沉浸式体验

    2022是"体育超级大年",冬奥会.亚运会.大运会.世界杯等各类大型体育赛事贯穿全年.由于受到疫情管控和物理空间的限制,赛事直播至关重要,观众体验需求也在不断升级. 于此,企业对直 ...

  5. 仁川市立博物馆全新沉浸式体验空间惊艳亮相,科视Christie GS系列激光投影机幻彩助阵

    韩国仁川 (2023年5月9日):科视Christie® 宣布,韩国首家公立博物馆仁川市立博物馆已选用其GS 系列1DLP® 激光投影机,为馆内两个新建沉浸式体验空间打造逼真视效. 全新沉浸式体验大厅 ...

  6. 元宇宙掀起新浪潮,觅伊打造沉浸式社交场景

    近日,受到资本市场热捧的元宇宙概念,一度席卷的可不只是互联网行业,工业元宇宙.文旅元宇宙.教育元宇宙等等都纷至沓来,各行各业面对元宇宙践行了一系列的动作. 最具代表性的,当属脸书(Facebook)- ...

  7. 海信智慧黑板Android版本,海信推出智慧黑板来打造沉浸式智慧课堂,保护视力让学生爱上上课...

    海信商用显示为了加速教育的信息化转型通过不断的技术创新和探索推出了一款新的产品-海信智慧黑板,以期打造沉浸式的智慧课堂. 海信智慧平板是一款高科技互动的教学产品,它的外观是纯平黑板加拼接结构并且还贴心 ...

  8. 【冰城论道】网心科技李浩:打造沉浸式虚拟现实新体验

    2月16日,冰城论道暨第24届中国智能视听与科技创新高峰论坛在哈尔滨举办.网心科技CEO李浩受邀出席论坛,并发表<端边云协同,打造沉浸式虚拟现实新体验>主题演讲,他提出边缘计算从低成本开始 ...

  9. csdn插件新增“博客净化”功能,去掉广告,砍掉边栏……打造沉浸式阅读体验,你值得拥有!

    csdn插件新增"博客净化"功能,去掉广告,砍掉边栏--打造沉浸式阅读体验,你值得拥有! CSDN浏览器助手新版本 9 月强势上线! 插件官网链接下载地址 https://t.cs ...

  10. 打造沉浸式游戏体验,戴尔及ALIENWARE推出全新AMD锐龙游戏本

    随着电竞产业的飞速发展,游戏本市场的发展日新月异,各种新技术层出不穷.沉浸式体验成为游戏本的一大发展趋势. 4月8日,戴尔及ALIENWARE携手AMD.NVIDIA强强联合,发布两款全新游戏本--性 ...

最新文章

  1. 2-sat问题,输出方案,几种方法(赵爽的论文染色解法+其完全改进版)浅析 / POJ3683...
  2. 11年的计算机二级vf考试试题,2011年计算机等级考试二级VFP 辅助练习题及答案
  3. [NOIP2017]逛公园 最短路+拓扑排序+dp
  4. Chapter 1(数据结构绪论)
  5. linux目录怎么自动生成,情景linux--如何快速生成大文件?
  6. SegmentFault 高阳:从开发者到创业者
  7. [XSY3383]多线程(笛卡尔树,DP)
  8. 使用Spring Cloud HystrixCommands的功能Hystrix
  9. 计算机二级access知识点6,2019年计算机二级ACCESS考试知识点:关系数据模型
  10. python正则表达式提取字符串的字母_Python正则表达式提取一部分字符串
  11. 数据库数据规范化看不懂_数据库管理系统中的规范化
  12. (转)SpringMVC学习(四)——Spring、MyBatis和SpringMVC的整合
  13. JavaScript知识点之“事件机制”
  14. 数据挖掘在电信欺诈侦测中的应用
  15. [转]教你如何在博客园放“可运行代码
  16. 微服务拆分以及之间的远程调用
  17. 纵向联邦线性模型在线推理过程中成员推断攻击的隐私保护研究
  18. STM32互补PWM输出使能控制
  19. js身份证号校验方法(转载我的请注明哈哈)
  20. Jacobi(雅可比)迭代原理与matlab代码

热门文章

  1. 从Sklearn Bunch对象到Pandas DataFrame对象的转换
  2. 解决“ Error L6218E Undefined symbol enet_delay (referred from xxxx.o)”问题
  3. win10安装系统教程
  4. ubuntu14.04掉nividia驱动问题及其解决方法
  5. Android视频教程基础篇(现场版)_张凌华老师主讲
  6. 做PPT只会直接插入图片?这样处理图片,让PPT的颜值瞬间提升几倍
  7. Navicat:Access violation at address xxxxxxxxx in module 'navicat.exe'.Read of address xxxxxx
  8. Java改良贪吃蛇小游戏
  9. 【高数】变上限积分的等价无穷小替换
  10. To invoke and to begin invoke, that is a question.