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

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

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

留下回复

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

更多文章

利用命令扩展改进工作流程

持续改进工作流程 ...

1.4.2019 - 作者:伯纳德 罗德里格 (Bernard Rodrigue)

“零代码”开发小游戏—UE4蓝图与Wwise结合的设计思路 — Part 1

大家好,我叫伍岚珊(Coffee...

6.1.2020 - 作者:伍岚珊

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...

27.9.2021 - 作者:米歇尔•多奈斯 (Michel Donais)

Impacter 交叉合成的可视化展示

欢迎继续阅读我们的 Impacter 插件系列博文。在前两篇博文中,我们主要介绍了插件的相关物理参数,以及如何与游戏的物理系统紧密结合。在这篇博文中,我们将着重探讨 Impacter 的交叉合成功能。...

19.1.2022 - 作者:瑞恩•多恩 (Ryan Done)

浅析游戏中的音频GameObject管理

一、前言...

17.5.2022 - 作者:徐巍

Wwise 2023.1 对 WAAPI 的更新

Wwise 2023.1 包含自 2017 年引入 API 以来对 Wwise Authoring API (WAAPI) 最大幅度的更新。如果还没看过 Wwise 2023.1...

1.8.2023 - 作者:伯纳德 罗德里格 (Bernard Rodrigue)

更多文章

利用命令扩展改进工作流程

持续改进工作流程 ...

“零代码”开发小游戏—UE4蓝图与Wwise结合的设计思路 — Part 1

大家好,我叫伍岚珊(Coffee...

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...