在之前的课程中,我们为大家详细地介绍了AR 的发展历程及其底层逻辑。但是 AR 技术人员想要从青铜成为王者,还需要克服以下五大挑战。
挑战一:
界面问题——缺乏通用的 UI 隐喻
想象一下,如果你将 19 世纪的人带到现今这个社会,让他坐在计算机前,在不给任何提示的情况下他能够顺利上网么?他知道如何使用鼠标和键盘么?甚至他能成功打开计算机吗?答案应该是否定的。
这就像在 AR 面前,我们都是小白,尽管知道可以用它做些什么,但并不确定如何使用这项突破性的技术、如何运用一种共通的语言帮助梦想照进现实。IT 从业者肯定都会熟悉这个概念——用户界面隐喻(User Interface Metaphor),简称 UI 隐喻。它是一种适用于多种技术平台的共通界面类型。举个例子,手机、计算机甚至是冰箱都可以配备 QWERTY 键盘(也称为“全键盘”),只要我们看到这样的键盘,就知道它是什么以及如何使用。但是,AR 的难点在于它是一项全新的技术,无法真正受益于任何界面隐喻。我们不能借鉴先例,而且没有过多的背景知识,很难抓住 AR 为我们带来的独特数字机遇。
如之前介绍的智能手机 AR 应用,目前这是人们体验 AR 的主要方式。许多开发者或用户对于 AR 技术及应用还在探索阶段,比如,如何体现现实环境、虚拟环境、并让用户理解移动手机,扫描环境,互动或观看虚拟物体,并且提示行动避开危险等,都尚未形成共通的,直觉的 UI 习惯。
又比如 Google Glass 光学头戴式显示器,如下图所示,在选择菜单上的选项时,我们应该怎样操作?点按、轻敲、还是使用语音?或者,是否真的需要使用菜单?对于 AR 界面设计师而言,这需要从头开始进行研究,设计并测试最适合这个平台的操作模式。
挑战二:功耗大、易发热
细看起来,让 AR 极具挑战性的技术因素很复杂。在这里,可以简单地归结为三个词:尺寸、功耗、发热。
尺寸(Size)
我们虽然在微型化处理器和显卡方面取得了很大进展,但是仍然没有达到让高端 AR 成为现实的水平。在 AR 设备不断进化的过程中,开发者发现,将处理器戴在头部虽然方便但是笨重。所以一些 AR 原型设计师认为,可以使用一个硬盘大小的外置计算包来容纳处理繁杂工作的 AR 设备,减轻框体重量。这样会更加符合人体工程学。
功耗(Power)
此外,渲染 AR 体验的过程非常耗电。想一想,你在线看视频时手机耗电也是比较多的。但是,AR 想要打造沉浸式体验,需要在流式传输图像的同时生成图像,并跟踪房间里的其他物体。除此之外,每次用户身体发生移动,设备就要重新校准,这些都对设备的电量是较大消耗。为了解决这个问题,有人认为可以在腰带上挂一个外置电池组。这个想法目前是可行的,但如果我们想让 AR 发挥全部的潜能,就必须在设备框体内解决功耗问题。
发热(Heat)
就现有的电子设备而言,在计算过程中都会产生很多热量。无论是笔记本还是台式机都会内置风扇,帮助电脑进行散热。事实上,功耗越大,产生的热量也就越多,而设备越小,散热速度就越慢。AR 渲染是一个非常复杂的过程,因此易发热是难免的。产生的这些热量又会反过来降低处理器的速度,甚至使其完全短路。此外,AR 设备有限的尺寸和结构要求导致发热问题更加难以解决。可想而知,如果要在仅有百来克重的护目镜设备中实现这一愿景会极其困难,留给散热片和风扇的空间并不大。一些 AR 头戴设备制造商将所需的处理能力打包放置在护目镜本身的框体中,而另一些制造商则采用电池组等外部硬件来解决这一问题。两种方式各有利弊,这就需要 AR 设计师在设备尺寸、功耗、散热三方面中取得平衡。
挑战三:3D 内容设计门槛高
如今,照相成为了人们日常记录生活的方式。各种拍照、美图软件层出不穷。几乎每个人都知道如何拍照,但曾几何时这是专业人士才有的技能。在 AR 领域也有类似的技能,我们称之为—— 三维设计。AR 中的事物主要存在于三维空间,虽然这些事物并非全部采用 3D 形式,但绝大部分资源、应用和体验在打造过程中,都需要一些 3D 设计的知识。
目前,拥有这项能力的技术人员基数较小,除非是专业的动画师、平面设计师、机械工程师或视频游戏制作人,否则很难在这方面有太多经验。AR 若想取得发展,就需要广泛普及 3D 设计的理念、技术和语言。同时,像 AR 贴纸和 Google Blocks 这样的直观创作工具和应用也要降低制作 3D 内容的技术门槛,在后续的 ARCore 开发入门系列课程中,我们会告诉大家如何将这些工具运用到实践中。
挑战四:“计算机视觉”识别困难
AR 在迈向成熟的道路上需要逾越的最后一道障碍就是“计算机视觉”。它指的是让计算机看到并理解现实世界中硬件与软件的过程。比如,你在谷歌浏览器中搜索关键词“狗”,就能找到与狗相关的图片。这是因为谷歌拥有独特的搜索算法和工具,已经将这些图片归类到狗的类别之下。
然而,计算机视觉过程可以真正地让搜索引擎看到所抓取的图片,并自动识别视图中是否有狗。别小看这个简单的例子,它具有重大的意义。比如,计算机可以看到并识别行人及红绿灯,进而确保无人驾驶汽车能够安全地在道路上运行。此外,它还可以查看周围的环境并将数字对象放置在合适的位置上。这个理念很棒,但是很难实现。目前,计算机视觉是一项发展迅速但仍然存在诸多限制的技术。想让计算机随时认清世间万物并将它们分门别类,对开发者而言任重而道远。
挑战五:动态物体实时遮挡难以实现
在前面的课程中我们介绍过“遮挡”这一概念。ARCore 升级之前,虚拟物体无法被真实物体遮挡,用户经常瞬间出戏。但在 2020 年,ARCore 深度 API 成功帮助开发者实现了这一功能。未来,AR 的目标就是在渲染时,自然地实现遮挡。所以作为开发者仍需要了解技术的局限并不断革新解决方法。除此之外,ARCore 已于 2019 年开始支持“阴影”功能。Unity 等 3D 游戏引擎也可以成功做到这一点。这无疑可以帮助 AR 开发者创作出更真实的内容。在后面的课程中,我们会陆续为大家介绍 Unity 的使用方法。
AR 技术从萌芽走向成熟需要开发者不断提升自己的知识储备,克服上述困难。在下节课程中,我们将帮助大家了解 ARCore 平台的优势,为打造 AR 应用做足准备。
延伸阅读: