- Part 1. 规模化的雄心
- Part 2. Crowd Soundbox 系统
- Part 3. 额外层级
Planet Coaster(过山车之星)的乐趣在于建造并管理世界最伟大的过山车乐园,并同世界分享你的创意。它是Frontier目前为止最具雄心,也是技术上最先进的模拟游戏。Planet Coaster的社区完全接受了这款游戏,并且在游戏的Steam Workshop上分享了超过100,000个作品,游戏在发售后也见证了数次更新。
Planet Coaster的中心就是乐园的游客。他们会成群结队探索用户所创建的乐园并通过精美的动画表达出他们的感受和情绪,让玩家一瞥之间就能了解自己的乐园是否成功。他们不光是乐园中视听的灵魂,还形成了我们过山车乐园体验一对一模拟的命脉。如果没有这些游客,就没有人坐过山车,买汉堡,去洗手间,就没有人让乐园充满生机。每位游客兜里都装着钱,每位游客都有自己的意见和偏好,都有能力依据自己的品位来评判您创造的场景和过山车之旅。
在Planet Coaster中,就像在现实世界一样,一个过山车乐园关键就在于人的体验。即使在过山车的呼啸声和烟花的爆破声中,我们还是能听到游客或激动,或害怕,或惊喜的声音。再现过山车乐园游客的真实声音重塑了Frontier音频实现的方式,我们会通过三篇博客文章来向大家进行介绍。
引言
当我们开始为Audiokinetic写一篇博客详细介绍Planet Coaster的音频时,我们决定专注于我们的crowd-Soundbox(人群声盒)系统。即使重点如此明确,博客还是超过了4000字!我们非常感谢Audiokinetic让我们能将这篇深度解析分成多个部分,我们希望您能从中获益,能把本文用到您现在和未来的项目中去。
- Part 1. 规模化的雄心
- Part 2. Crowd Soundbox系统
- Part 3. 额外层级
PLANET COASTER –人群音频:PART 1
规模化的雄心
Planet Coaster是货真价实的“3A”级模拟游戏,它基于Frontier’s自有的COBRA游戏开发技术制作。Planet Coaster始终不变的亮点之一就是栩栩如生的人群,而Frontier的动画团队计划为组成Planet Coaster的庞大人群制作复杂和详细的各种反应,与此同时还要达到Frontier的质量标准。我们想让Planet Coaster的人群听起来和看起来一样栩栩如生,所以很自然地,音频团队的第一个想法就是针对所有美妙的视觉效果进行同步,并匹配团队其他成员定下的基准设置。
然而,需要支持的游客数目以及高效管理声音的需求就排除了动画帧触发的方案和游客-点声源一一对应的关系。
主程序员安德鲁.查佩尔(Andrew Chappell) 在前期制作期间说得很直白:“你目前所习惯的音频工作方式……在我们为Planet Coaster计划的人群数目下,它是不可能做到的。
我们也将其视为一次机会,重新思考了在之前游戏上我们已经如此熟悉的音频系统,并创造了在两个方面上(发声点放置和保证Wwise只在玩家可听见的内容上工作)更有远见的一些东西。
Planet Coaster确实需要在音频上另辟蹊径!
前期制作白板。Frontier(音频)项目生命的开端往往是在一块白板上。白板上列出了项目需求,实际范例和头脑风暴过程,再以此为基础制定出一组指导方针
在音频前期制作过程中,我们会讨论很多关于游戏的问题,以及如何处理很多需要发声的对象。我们会讨论在不同情况下想要听到的东西,但也许最重要的一点就是我们会和其它部门沟通并仔细听取意见。
我们会根据研究的发现项写出指导方针的梗概,以便帮助我们确定主题乐园的音景需要做到哪些事:
音景(音乐、音频)需要从乐园的构造中得到信息通知(以便支持用户的创意)。音景必须是动态的、自适应的和互动的。
音景的声音必须是画内音(diegetic),除非出现了前两条规则不能适用的情况。
我们在代码上或Wwise中做的任何实现都必须能规模化扩展。
这些指导方针影响了我们所有系统上的工作方法。比如在过山车上,只是简单地用一个‘过山车循环’就不能针对用户能创建的各种过山车满足“动态性、适应性、互动性”的指导方针。“动态性、适应性、互动性”也指导着我们认识到了声源以及用户围绕该声源设计出的环境的关系。
同样的规则也适用于人群,我们的指导方针要求我们必须确认:
我们乐园的游客在哪有多少游客
游客正在干什么
对于人群来说,没有一个“万能钥匙”解决方案,因为无法用一个系统就能适用于任何假想情况,满足我们的要求。更为复杂的是,我们的解决方案总是要包含玩家镜头的迅速动作,随着他们在巨大的乐园中移动,一扫而过。
管理大量潜在的音频源、密度不断变化的用户生成内容,以及随着镜头移动按需迅速添加和移除细节,与此同时还要保持混音干净、富有动态并令人满意?这对于音频编码人员和设计师来说可绝不会是一个简单无聊的项目!
从远景到特写。缩放音频以满足各种不同的情况。左上:空的沙盒。右上:很多条轨道相距甚近的复杂主题乐园。左下:特写细节。右下:镜头扫过的远景
考虑到镜头和性能,我们开始思考音频的“舞台”。就像在舞台剧中,主角是最重要的角色,它们需要保持同步并且清晰可听。主角被其他演员以及舞台环绕,而这些其它的部分不需要同样水平的同步或细节。
这样的思路让我们将音频排序成了动态前景和背景层,前景声代表已同步的细节,背景声创建了一个“虚拟音景”,这个音景不需要密切的动画同步,但它的信息通知依然来源于目前乐园的内容。当围绕镜头的思路来指导工程的设置(在代码上和Wwise中)时,前景和背景舞台就能动态地变更了。
Planet Coaster的人群是所有这些挑战的核心。他们可能散布各处,也可能紧紧凑在一处。他们可能很远,也可能离镜头只有几米。他们的尖叫声甚至可能来源于镜头范围之外。因为我们的目标是做出一个由玩家造出的乐园所动态生成的音景(识别并遵守所放置轨道的密度和活动),所以实时信息必须在表现它们的音频中扮演一定的角色。
最终,Planet Coaster的人群音频会结合两种解决方案来处理镜头的迅速移动,乐园中可多可少的游客、游客的分布、以及游客当前的行为(情绪)::
Crowd Soundbox(人群声盒)系统创建了一个数据通知层,它会大概描述在“虚拟音景”中整个人群的密度、位置和情绪。在“舞台”的例子中,它就是我们的后台层,它会根据镜头位置动态进行缩放,并通过确定数目的发声体管理。The Close-Up Sounds System(特写声音系统)为前景游客创建了对号同步的发声点,并且只有在镜头近到能听到这些细节时才会激活。
在下一篇博客中我们会详细介绍助力人群的系统:Soundbox
评论