大脑非常神奇。只需要两只耳朵和一些脑部周围的软骨,就可以仅通过声音线索准确地在3D空间中定位一个物体。可以听听看周围的声音。认真的,停下来听听周围的声音。即使那些音源完全不在我们的视线内,应该也可以大概知道音源的位置吧?这就是声音的定位效果。这是一个非常厉害的能力,尽管大多数人都认为这是理所当然的,然而正是这种能力在生活的各个方面中帮助我们完成一系列活动,比如安全地过马路,不被凶狠的狗伤害,当然也包括创造游戏的沉浸效果。
让我们来理一理
在现实生活中我们拥有五感(如果活在 M. NIght Shyamalan 大导演电影里的话那你还会有第六种感官)。这五感分别是触觉、味觉、嗅觉、视觉和听觉;但是呢,在VR的游戏世界里,只有两种感觉能被我们自由利用,这两感就是视觉和听觉。
从某些角度说呢,这样反而比较好(比如僵尸游戏里启用味觉,有人想试试吗),既然现在只有两种感觉可以被利用,那制作一个真正的沉浸式游戏就意味着将这两感运用到极致。简单来说就是需要高质量的3D图像和3D音效。
尽管图形领域近几年一直在持续发展提升,PC 端音效的发展史看上去似乎就显得特别混乱,有层出不穷的新发明,也有停滞不前的时期,甚至也有彻彻底底的退步。然而,随着 VR 产品的问世和不断发展,真正的3D音效似乎再一次崛起了。这一次他们从过去层出不穷的新发明中吸取了教训,VR 要将沉浸式音效体验推向一个前所未有的巅峰。
音效急需复苏
3D音效病了。正确执行的3D音效还是非常炫酷的,但是在近几十年里,3D音效的整体质量都不容乐观。毫不夸张地说,想要明白为什么 VR 能够复兴3D音效,必须了解3D音效究竟为什么需要复苏。
3D音效利用的是空间坐标轴(x,y,z轴)内每个声音和听者的坐标位置,然而大多数现代游戏都将声音界定为水平上扩展,但是纵向上几乎没有高度和距离感。这就意味着我们界定的声音对于听者而言就像是一个静止的呼啦圈,仅仅能提供一种极弱的伪3D效果。
音频发展史
从某些角度来看,音效已经在过去几十年中有了突飞猛进的变化,尤其是从保真度和信噪比的角度来看。从托马斯·爱迪生在1800 年代末期第一次通过留声机回放了一段声音以来,我们已经在音频领域发展了很多。然而,尽管在保真度和预录方面一直在持续进步,3D界的实时音效建模却有些差强人意。
那么,在游戏之中创造出优秀的3D音效到底有多难呢?为什么我的游戏里没有3D音效呢?高保真音效的重现其实并不难,但是要重现一个3D空间中的动态行为确实是一件很难的事情。
空间障碍
首先,我们先预录一个音效作为样本。它可以是僵尸的呻吟,可以是开枪的声音,也可以是你朋友在雪地里的脚步声。无论这个音效是什么,它肯定具备一个音源和一个听者。
无论是音源还是听者,都需要在3D空间中占有一个位置,这个过程被称之为空间定位。本质上来说呢,这就意味着音源和听者都有一个完整、动态的 xyz轴坐标,从左到右,从上到下,从前到后。随着他们位置的变化,预录声音样本也必须随着位置变化而变化。也有专门的术语来形容从左到右,从前到后的关系,叫方位角(azimuth),而从上到下的关系则称为海拔(elevation),此外还有距离。尽管空间定位对于声音的沉浸效果而言非常重要,这也仅仅只是冰山一角。在声音到达听者的位置之前,它需要在空间里沿着弯曲复杂的路径里行进一段距离才行。
就像光一样,声音实际上很少沿直线从点A到点B,取决于周边环境,它们在穿梭的过程中可能经历成千上万的路径变化。光可以被反射,声音也可以被反射,反射又可细分为早反射(early reflections)和迟反射(late reflection);也可以被吸收(或减弱);甚至可以被完全隔绝,如声音封闭(sound occlusion)。在一个空间内的声音也可以产生回声(盘绕的混响/ convoluted reverberations),这些都取决于声音在传播过程中的路径。将这些环境因素合在一起,就是人们常说的声音氛围(audio ambiance)。
由于这些环境因素对音波在传播过程中的影响,也大大加强了计算机处理这种影响的难度。举个不恰当的例子,这大概就像是在你的游戏中加入另外一个物理引擎,比如声波追踪系统之类的,这也是硬件加速音效常用且实用的一个借口。所以时至今日,大多数游戏仍然没有将空间定位或者声音氛围开发到极致。
Aureal
想要把这一切环境因素都放到你的脑边实在有点难,所以不妨现在戴上一副耳机然后听听看这个。这是一个在1990年代末诞生的即时3D音效科技。没错,大概 20 年前的科技就已经能创造出富有沉浸感、栩栩如生、有方位感的3D音效。这项技术被称为A3D 2.0,它可以实时实现以上提到的大多数的声音效果。而这项技术的拥有者正是Aureal(傲锐)。
这项技术很大程度上依赖于头部相关传递函数(head-related transfer functions,或 HRTFs)以及用来计算3D音源如何进入人脑数学算法,这种算法还需要考虑耳朵和上半身身形。这能在本质上帮助我们复制声音线索,以便我们准确定位音源,或者将音源局限在某块区域。我需要再一次提醒大家,这项技术在上世纪90年代末期就已经实现了。
说了这么多,如果你听了上述那个链接,觉得自己的耳朵被欺骗了,可以理解!这是非常正常的感受。可是如果这项技术那么多年以前就已经存在了,为什么如今游戏的音效很多都还没这个强呢?原因归纳起来就两个字,竞争。
竞争
理论上来讲竞争是一件好事,可以让产品质量越来越高,就好比跑步比赛中别人就快追上你了,你就决定加速一样。然而不幸的是,竞争也可能产生“劣币驱逐良币”的负面效果,比如跑步比赛中你就快追上别人了,结果他把你推倒了。有时候市场竞争真的就是这个样子。
Aureal 是史上最早开拓3D音效领域的公司之一。即使很保守地评价,他们家的音效科技也是非常出色的,尤其是考虑到他们在上世纪 90 年代末就已经达到那种水平。可是就在随后,Aureal 的最大竞争者 Creative(创新)起诉 Aureal 侵犯专利权。尽管人们普遍认为 Aureal 的音频技术比Creative的要更加优秀一些,这场官司却耗费了 Aureal 大量财力,以至于无法继续运作下去。
总而言之,这两家公司并没有友好竞争,而音频技术也只能成为这场恶性竞争中的陪葬品。可以说这场恶性竞争不仅仅阻碍了3D音效的发展,更增加了消费者们的开销,最可恶的是价格高了产品质量反而变得比以前更糟糕。
在被称为3D音效的黄金年代的那段日子里,Creative 也继续创新,然而它们的创新大部分是基于Microsoft 的核心技术DirectSound和DirectSound3D。
前任
首先呢,我们先来弄明白一个常用的俗名,你肯定经常听到DirectX(微软创建的多媒体编程接口)这名字,一般都是在描述某些很酷炫的图形特征时会被用到。尽管 DirectX 经常被人们与 3D 图形联系在一起,但实际上它是由大量多媒体应用程序编程接口(Application Programming Interfaces,API)构成的,简单地说就是相当于有好几级软件,将功能强大的软件与不那么强大的连接在一起运转。
而DirectX的图形API正是Direct3D。大部分人在说DirectX的时候其实指的是Direct3D。而DirectSound呢,就相当于是对应的音效API。DirectSound也有扩展部分,名为DirectSound3D。
DirectSound(以及 DirectSound3D)有两个核心功能。一是它能够创建一个标准,统一化的环境供3D音效发展,并能让软件开发者轻松利用。第二个功能则是它能让硬件为3D音效加速,这是一项非常复杂的计算任务。一直到 2006 年,DirectSound 和 DirectSound3D 一直是很多音频应用的主心骨。随后Vista诞生了。
陨落
随着Windows Vista系统的发布,微软随即将DirectSound3D 斩于马下,将几年来Creative 音频发展的基石化为乌有。无论是标准音效API还是硬件加速都瞬间失去了活力。想明白这究竟造成了多大的混乱,不妨想象一下哪天微软突然决定也停止使用Direct3D。
当然了,图形行业能够很快自我复原的几率很高,但是这么做,对于图形界的影响一定会是巨大的。移除DirectSound和DirectSound3D从某些角度来说是有利的,但对于当时音频的状况而言是个非常巨大的打击。这段历史就像是 Creative 把 Aureal 的轮胎放了气,而当 Creative 准备上路的时候,微软直接把 Creative 的轮胎卸掉了。
在 DirectSound3D 被唤醒的初期,很多人说硬件加速是多余的,完全不需要。这么说有那么点道理,但是撇开道理不谈,这么多年来的游戏中软件执行这块似乎一直很单薄,而背后原因正是因为他们无法计算足够的运算组,以至于无法创建真正的 3D 音效。从乐观的角度来看这最近一个世纪,3D 音效在退步,但在代替软件填补空白的帮助下,至少也在跌跌撞撞地找回自己的步伐。
余波
尽管从Vista开始的代替产品基本都是基于软件制造的,也有少部分硬件加速的解决方案,比如AMD的TrueAudio技术(一种免费又简单的实时无损音频编解码器),它们利用GPU 进行运算,从而创造精准的3D音效。当我们想起声音是一种物理现象,再想想GPU在物理渲染中日益递增的作用(比如 Nvidia 的PhysX),说GPU也能够计算出精准的沉浸式 3D 音效似乎也不那么牵强。然而,如今的3D音效领域依然支离破碎。
事到如今,我们再回过头来看,究竟解决方案是软件还是硬件已经不那么重要了。重要的是能实现真正的空间定位,创造环境氛围。可以说近十年来,这些过程常常是敷衍了事。随着VR的到来,对真正的3D音效的需求总算到头了(现在3D音效真的能到你的“头”里)。
欢迎光临
VR的一切都是关于沉浸感。Oculus Rift特别强调了临场感的概念,或是肉体上感觉自己正身处于某一环境中。视觉和听觉都能使这种感觉更加逼真。
在VR中,能实现沉浸感和临场感画面的主要方式就是通过低延迟的头部追踪,当你转头,在地上匍匐前进时,显示屏能以几乎无法察觉的延迟匹配你的实时视野。有趣的是,头部追踪系统也恰好是为什么真正的3D音效至关重要的原因。
在现实生活中,我们常常会微微转动,或者抬高头部以确定某个声音的确切来源,我们的大脑会记录下这些声音的差异。鼠标视角某种程度上能模仿这样的行为,因此对于鼠标游戏来说3D音效是个不错的选择,但是头部追踪系统对于 3D 音效的需求几乎是强制的。
3D音效:VR的必需品
VR中的音效可以成为临场感的点睛之笔,也能成为败笔。正确执行的3D音效能加强一个场景的临场感,给玩家们传递各种物体的位置信息,以及环境信息。能够通过头部运动追踪一个运动中的物体固然很重要,能够听见与这个物体实时位置所匹配的声音也同样重要。视觉和听觉可以相互加强,一旦这两种感觉互相冲突,沉浸感就消失了。
想象一下你看见一个物体在你的身体上方,但听上去却像是在边上;或者是你在听一个角色讲话,但是无论你的头转向何方,声音似乎总是从正前方传来。如果真的这样,沉浸感就成了一个笑话,那也就更不用谈什么临场感了。
3D音效非常重要,因为当我们听到那些可以感觉到的声音时,听觉几乎可以替代我们无法实现的触觉,比如我们听到了风从脸上吹过的声音,或者雨落在身边的声音。来看看这个Oculus Connect 大会上的视频(翻墙看~),你可以对3D音效对于 VR 的重要性有更进一步的了解。
但这并不是说没有优秀的3D音效,沉浸感就没有了,而是真正的3D音效能将这种感觉放大至无限。这就是为什么 VR 如此坚决地推崇整合了空间定位和环境氛围的真正 3D 音效。
然而有点反常的就是,由于耳朵对于声音的连续性判断和准确定位,利用 HRTF 的耳机似乎总比扬声器传递更逼真的 3D 音效。
音频复苏
在2014年,Oculus授权VisiSonic的音频技术,并最终将其融入Oculus Audio SDK 中。这项技术非常依赖定制的HRTF,通过耳机来再现精准的空间定位,这其实也是Aureal在20年前就推出的技术。
最棒的部分不仅仅是Oculus将这项技术整合进了他们的Audio ADK中,而且他们还免费供应,甚至不仅仅在 VR 平台上免费,其他任何平台上也是免费,包括传统PC平台也是。尽管市面上也有很多各种各样的三方音频解决方案,但 Oculus 这么做也是为大家提供了一个高质量,并容易上手的3D音效基准,甚至为游戏内真正的3D音效定了起跑线,这条起跑线在快十年前DirectSound3D陨落时就不见了踪影。
一段时间以来3D音效都处于一个“奄奄一息”的状态,或者你也可以乐观地说,它需要被复苏。多亏了VR的到来,人们终于证实了3D音效复苏的重要性。3D音效再也不是备选的调味料了,它是一个非常重要的原材料,是可以放大、倍增整个VR体验,可以将临场感和沉浸感提升到图形永远无法企及高度的重要元素。