我们一再强调视觉模拟≠虚拟现实,要想让VR体验更真实,你应该为用户提供视觉、听觉和感觉上的全面模拟,今天就让我们来看看一个最有望成功欺骗听觉的技术——VR Audio。
在当前尚处百家争鸣的VR技术领域,提出声音模拟的方案、算法不少,然而实际展示的可实用方案并不多。在所有我们见识过的实用技术之中,我们觉得来自NVIDIA的VR Audio最具潜力。
是的,你没有看错,这个牛B的声音计算技术来自PC业内大名鼎鼎的图形渲染龙头NVIDIA。这看起来有点狗拿耗子,但在了解这套系统将用光线追踪技术来计算声音后,你一点也不会觉得VR Audio来自NVIDIA突兀,也不会觉得由显卡来计算声音而别扭。
之前我们提到过,双耳录音技术(链接到我们之前的文章)可以营造“沉浸感、临场感”,这在以往用户静坐一个固定位置时,是很好的声音模拟解决办法。但很不幸,对于VR这种时刻都在和玩家互动的应用,我们必须考虑用户头部的频繁转动以及位置的移动。所以,双耳录音效果仅仅是结果(无论用户怎么转头和移动,都能听到正确的、适合他当前位置的双耳录音),而不是手段。
而NVIDIA的VR Audio就是克服这个难题的手段。其原理就是像追踪光线一样追踪声音,NVIDIA将其称为几何空间声音算法。不要被这个看起来高大上的名字吓住,其实原理很简单。
在任何和环境中,真实的听音都是声波直接传播和间接传播的叠加、混响结果,而且随着倾听点的变化,同声源的每一个声音都应该产生不一样的倾听感受。
比如现实生活中,同一辆汽车由后至前开过你身边的过程中,你听到的发动机、胎噪和风燥等声音一定是随时变化的。还是那辆汽车,与你一样的相对距离,周边环境变化之后,你听到的声音也应该是不一样的。因为此时经过折射、反射等产生的声波传到你的耳朵中的路径和强度发生了明显变化。
VR Audio提供一种追踪声波在空间中传输的抽样方式,它允许以发声源为基点,追踪该点次向空间球体中发射的1600万条声音线。
并事实处理这些声音线在碰到物体后的反射、衍射、叠加等行为,最终落脚用户当前角度,综合出所有直线、反射、衍射等各种声波,渲染出最为契合真实环境的混响效果。
OK,其实这个原理说起来并不复杂,但是为何别家做不到?很简单,以往大家都习惯用CPU加音频芯片来处理声音计算。如果你告诉CPU要它追踪处理1600“万”条声音信息,它肯定会问你“are you kid me?”目前任何PC,甚至是多路服务器的多个CPU都会被如此海量的并行处理任务搞奔溃。
而GPU则不同,诞生之初就是设计用来处理并行计算任务的。经过这么多年发展,在并行任务处理上已经堪称得心应手。几年前就开始采用这种变态的几何空间计算模型来处理光线的变化计算,希望通过直射、折射、反射、衍射等各种光线混合的效果,模拟出具有真实光照效果的画面。如下图,你能看出这是照片还是渲染吗?
发展到现在,GPU早就具备在一边渲染复杂图像,一边大量处理并行数据流的能力。1600万条声音线,对CPU或者别的芯片来说想都不要想,但GPU却能轻松搞定。配合上软件算法,就可以相对精确地解决声音的事实追踪、变换。
上一段NVIDIA展示的VR Audio声音计算视频,我们能通过摄像机位置的移动,真实感觉到类比现实环境中的声音变化,真实度堪称一流。若配合上逼真的视觉,你还能保持你的大脑不被欺骗吗?
OK,最后附上NVIDIA的Developer工具、技术介绍界面,我只能帮你到这了,接下来的开发找谁你懂的https://developer.nvidia.com/vrworks