快速检查和管理音频资源的小技巧

Wwise 小贴士和工具

妙用Wwise Queries工具

 

什么是Queries工具?

Queries选项卡是Wwise的条件搜索和查询工具。

为什么推荐使用Queries工具?

 

  1. 以最省时间的方式使所有符合设计师所需条件的资源出现在List View(列表视图)中,支持多条件同时筛选,方便管理或编辑资源,并保存查询条件供今后使用。
  1. 用于平日版本/游戏封包时检出并批量删除多余废弃资源,节省包体容量大小。
  1. 对整体音频的特定参数/设置进行查漏补缺

实用方案分享 

Queries工具在Wwise官方帮助文档和101里都有讲,但介绍的篇幅较小,在此分享几个我觉得很实用的方法,在检查错漏音频资源时非常方便快捷,希望可以帮到有需要的朋友。由于游戏项目之间差异性很大,这些方法可能只适用于部分项目。

  • 检查是否存在有效方法去筛选“同时满足Duration与Streaming属性条件的音频”?


  • 这里有一个简单的方法:
  1. 先筛选出所有Duration条件“>6”的结果(视需求改数值)。

Pic 1

  1. 在下方“Result”结果窗口里Ctrl+A > 鼠标右键 > Show in Multi Editor。
  2. 在弹出的Multi Editor窗口中选择Edit > All parents,接着右键 > Show in List View在弹出的List View中观察“Is streaming Enabled”的勾选情况,可按属性标题进行排序。
  • 检查工程是否存在没被任何SoundBank引用的Event

操作方法:

  1. 在Wwise选项卡Queries中新建一个Query并打开。
  2. 在左边Brower窗口中,选择SoundBank> SoundBank/Events Reference In。
  3. 在右边Criteria窗口的下拉菜单中选择No SoundBank。
  4. 点击Run Query(运行查询)。

 

筛选出来的Event即是未被SoundBank引用的,一种可能的情况是未给Event匹配SoundBank,另一种情况是未删除游戏废弃的Event,根据情况需求将结果批量处理即可。同理可选择筛选“是否有Event存在于2个或多个Soundbank内”,检查是否有冗余的Event。

  • 检查工程是否存在被引用但没有勾选Inclusion(包含)的音频

操作方法:

  1. 在Wwise选项卡Queries中新建一个Query并打开。
  2. 在左边Brower窗口中,选择Property > Value。
  3. 在Criteria窗口中下拉菜单选择“Inclusion”。
  4. 点击Run Query(运行查询)。

 

 

筛选出来的即是未勾选Inclusion的音频,需利用Reference View(Shift+F3)观察是否被Event引用。一种可能的情况是音频未勾选Inclusion,另一种情况是未删除无用的Event, 可根据情况处理结果文件,避免游戏因触发了未勾选Inclusion音频的事件而产生“Selected Child Not Available”报错。

  • 检查工程是否存在未自定义 Conversion Settings(转码设置)的音频

操作方法:

  1. 在Wwise选项卡Queries中新建一个Query并打开。
  2. 在左边Brower窗口中,选择Source > Audio Format。
  3. 在Criteria窗口中下拉菜单选择“PCM” (视需求定)点击Run Query。

 

 

筛选出来的即是PCM(无损)格式的音频,除了一些包体大小限制相对宽松的大作精品游戏,其他常见的手游和端游为了节省内存,基本不用巨大的PCM格式音频,如仍筛选出结果,可能是未自定义转码设置。同理可筛选被转成ADPCM/Vobis的音频,视游戏情况处理。

 

以上方案,都可按需加入关键词进行高级筛选,很多朋友会在文件命名中加入一些形容词,方便后期管理。比如我们需要筛选出没有勾选流数据Stream)且命名里包含“Long”的音频对象;或筛选出被勾上“Inclusion”且命名里包含“Unuse”的音频对象等等。

 

例如,我们需要检查工程里是否存在 漏了勾选Loop(循环)且 命名带 “Loop” 的音频:

 

操作方法:

  1. 在Wwise选项卡Queries中新建一个Query并打开。
  2. 在左边Brower窗口中,选择Property > Value和General > Name。
  3. 在Criteria窗口中将属性下拉菜单选为“Is Looping Enabled”,在Name属性中填入*loop*(注意关键词要填在两个星号*中间才生效)。
  4. 点击Run Query(运行查询)。

 

 

筛选出来的结果即是没有勾选Loop且文件名带“Loop”字眼的音频。需检查是否为“漏网之鱼”,视情况而处理。

 

Queries结果批处理参数方法

 

  • 在结果列表或在List View中,批量选择需同时改变参数的多个文件(选中的文件会变深色),为其中一个文件勾选属性复选框(比如Is Streaming),或拖动参数(比如Voice Pitch),其他所有选中的文件也会跟随勾选复选框,或变成一样的参数值。

 

 

  • 结果列表中选中文件后,点击右键选择Show in List View,可将结果移至List View中。

 

 

  • 在参数名称栏点右键后选择Configure Columns,可打开参数列表,可将隐藏的一些参数勾选,让它们显示在List View里。

 

其他检查和优化音频包的小方法 (非Queries工具操作)

  • 检查是否存在未设置Output Bus的音频

 

未设置音频Bus时,系统默认输出到“Master Audio Bus”(如无更名)。选中该Bus并打开Reference View(Shift+F3),将显示默认输出为Master Audio Bus的所有音频,再根据需求处理,避免出现“游戏关了音效或音乐选项后仍有该类型声音”的Bug。

  • 检查是否存在未被游戏引用的废弃资源

找出未引用资源,既可以删除多余资源节省容量,又可检查是否有资源漏绑或被覆盖。

 

UE4(虚幻4)编辑器:

 

方法1 – 在Content Browser中搜索AkAudioEvent,全部选中并点删除,会弹出警告窗口,将所有Event引用情况列出来,包括全局标签和配置表引用,询问是否确定删除,此时未被引用的事件会一目了然。

方法2 - 全选AkAudioEvent,在右键菜单中选择Reference Viewer,会以树状图结构列出所有引用。

 

Unity编辑器

 

目前游戏引擎只支持查找当前场景引用,在这里给大家提供一个cs脚本,可以自行添加工具用来查找全局引用(支持多个搜索)。

 cs

(转载脚本:来自雨松MOMO 2016年06月29日 于 雨松MOMO程序研究院 发表)

 

使用方法:将脚本复制到工程目录下,然后在Project选项卡的右键菜单中,会增加一行“Find Reference All”(可自行对菜单选项进行重命名)。

                 

改命名代码位置

很多游戏项目上线前,程序员也会开发相关的小工具,定期自动搜寻所有未被引用的资源(包含美术/音频/策划表与其他资源),并把log(日志)导出来。如果觉得上面的方式麻烦,也可以直接与项目程序员沟通,使用自研工具。

以上方法对代码直接引用的事件不适用,如有被代码控制的Event,注意不要误删。

 

结语

 

平时工作中,我们要尽量养成将初始工程结构、音频文件与参数设置等做好有条理规划的习惯,尽量减少后期的资源检查。但也会难免百密一疏,在日常版本或游戏上线前尤其需要系统性的对资源进行检查管理。以上内容分享了我觉得很实用的检查资源方法,在日后推陈出新的Wwise版本与集成版本的不断改进中,检查资源的方法应该还会越来越方便,能省更多时间,值得大家一起探究。

 

 

伍岚珊

音频设计师

腾讯游戏光子工作室

伍岚珊

音频设计师

腾讯游戏光子工作室

毕业于星海音乐学院现代音乐系,曾任职于西山居游戏,现任光子工作室音频策划。从事音频功能研发与音频交互设计,致力推广音频中间件与商业引擎的结合。

 @CoffeeWu2

评论

誉宸 王

April 25, 2019 at 05:32 am

大佬!大佬!为您鼓掌!啪啪啪!

留下回复

您的电子邮件地址将不会被公布。

更多文章

音频动态范围校准系统

Audio Dynamic Range Calibration System(音频动态范围校准系统)主要目的是要改善玩家在电子游戏中对于动态范围选项的使用方式。这些选项在近年来发展迅速,尤其是在 3A...

15.2.2017 - 作者:马丁 布西帕里 (Martin Bussy-Pâris)

怎样控制声部 - 优化CPU(PART 1)

对于任何项目,在开发过程中遇到性能问题都是很常见的。问题原因可能多种多样,但大部分情况下都和同时播放的声音数目直接相关。虚声部(Virtual Voice)只计算音量,而实声部(Physical...

16.11.2017 - 作者:马修.让(MATHIEU JEAN)

在Unity3D中助力你的声音设计师

27.3.2018 - 作者:比特里克斯.摩尔什(BEATRIX MOERSCH)

关于结合 Wwise 在 UE4 中运用音频工具的尝试:利用 Spline Based Audio Emitter 创建自定义形状

大家好!我计划撰写一系列短文来探讨关于结合 Wwise 在 Unreal Engine 4...

3.6.2019 - 作者:特罗尔斯.尼加德(TROELS NYGAARD)

十条你得知道的 Wwise Launcher 用法(2019 版)

注:本文基于 2018 年初在 Audiokinetic 公众号上发表的文章《十一条你可能不知道的 Wwise Launcher 用法》,由作者针对软件更新做了改动,不影响操作的截图沿用旧版本。...

15.7.2019 - 作者:李北南

在Wwise中进行大批量音频管理的思路分享

在我的日常音频工作中,经常会遇到需要做大批量语音文件导入、配置的情况,由此产生的批量化处理需求大致可分为三种:...

11.5.2020 - 作者:葛鑫

更多文章

音频动态范围校准系统

Audio Dynamic Range Calibration System(音频动态范围校准系统)主要目的是要改善玩家在电子游戏中对于动态范围选项的使用方式。这些选项在近年来发展迅速,尤其是在 3A...

怎样控制声部 - 优化CPU(PART 1)

对于任何项目,在开发过程中遇到性能问题都是很常见的。问题原因可能多种多样,但大部分情况下都和同时播放的声音数目直接相关。虚声部(Virtual Voice)只计算音量,而实声部(Physical...

在Unity3D中助力你的声音设计师