决定版音频调用/修改/添加指南 - [地编&MOD] - 12月6日更新
本文翻译自steam的StepS大神的文章Audio Modding Guide (WIP),在此感谢原作者提供教程!本文将告诉你如何修改已有的或添加新的决定版游戏中之音效,以及如何在场景地图中使用它们。
第一版:2019年12月16日
第二版:2020年01月12日
第三版:2020年02月14日
第四版:2020年04月05日
第五版:2020年06月15日
第六版:2020年07月11日
第七版:2020年09月13日
第八版:2020年12月06日(当前版本。Tip:可利用Ctrl+F搜索“12月6日”来快速定位本次新增内容)
(注:更新概要请查看最后一层楼)
前言
随着帝国2:决定版的发布,许多人对游戏中声音的修改方法感到疑惑。可以理解的是,并不是每个人都喜欢音效的变化。有的玩家希望控制声音的播放时机,或者在自定义场景中引入新的音效。
然而,修改声音不再像.wav或.mp3文件那样简单便捷了。因为音频引擎现在是由Audiokinetic WWise(官网“学习”中有自带的教程,坛友@Hudson也写了一篇教程:【Wwise Launcher】wav转wem(opus编码)教程)提供支持的。所以在尝试创建音频mod之前,我们需要了解一些新的知识。这个指南将为你提供必要的信息,告诉你如何调用游戏中已有的音效、增加新的效果、重排dat文件中的音效,以及用你的自定义文件完全地替换游戏中的音效和音乐。
注:由于游戏会一直更新,故该指南可能会继续变动。
[必需品]声音事件和音频源表
由于WWise系统,声音文件不再具有有意义的名称。其中一些文件以.wem文件的形式出现,名称中带有随机数,其他文件则打包起来作为soundbanks (.bnk) 的一部分。此外,并不是所有的声音文件都能准确地代表游戏中声音事件的播放方式,因为声音事件可以将这些具有不同设置的音频源组合在一起进行播放。
为了应对这个问题,StepS创建了这个音频源表(注:谷歌文档需要梯,所以我们下载了下来↓ )
· 英文原版
· 我简单汉化过的
(注:12月6日相较于上次修订,只改了“音乐”选项卡那里的文明主题曲的文件名的首字母)
表格内容大致包括:
[*]每个事件名,及与其一一对应的事件ID。在地图编辑器中使用音效时,事件名是必需的。在重新分配dat文件中的声音绑定时,则需要事件ID(通过AGE进行),在为游戏内效果创建软替换(? create soft substitutions)时也是如此。
[*]音频源名称及一一对应的ID。这是用来选取游戏自带文件的,可以让你知道你在处理什么。wem文件名里的数字也是源自这里。(注意:表格里列出的某些音频源并不能在游戏里使用,因为它们并没有被使用。这属于正常现象,请忽略掉这部分音频源)
这个表格非常重要,它将贯穿接下来所有的修改/调用。
一、在编辑器触发中使用游戏自带的音频
请进行以下步骤↓↓↓
[*]新建一个包含“播放声音”或“显示指南”效果的触发。
[*]检查音频源表(在本文上面)并输入你要的事件名称。
注:
[*]事件名称不用区分大小写。
[*]有两种类型的事件:2D和3D。目前在表格中它们之间还没有明显的区分,因此你需要记住下面的特性:
[*] 1° - 2D事件不会绑定到地图上的任何特定位置,并且会在立体声系统的中间位置播放,没有位置偏移。例如UI音效(按钮点击、通知、单位选择和移动指令等)。2D事件可以在“显示指南”和“播放声音”效果中不受任何限制地使用。
[*] 2° - 3D事件会依据播放位置与屏幕焦点的相对偏移而改变声道(俗称立体声)。通常是战场效果(爆炸/火药,近战/远程攻击,村民工作,死亡等)。3D事件不能用于“显示指南”效果;只能在“播放声音”中使用,且必须在地图上为事件设置播放位置。3D声音的位置要求可能会在以后的更新中删除。
大量BUG总结(9月13日加入本文):
[*]决定版关于播放wem音效的结论&BUG总结
图例:播放声音效果,声音为“Play_Chat_Received”
二、在编辑器触发中使用自定义/新增的音频
请进行以下步骤↓↓↓
[*]首先,你需要将你的音源(mp3或wav)文件转换为wem文件。这里有一个教程教你如何转换。
[*]在你的决定版用户目录中创建一个新的mod文件夹。例如——C:\Users\(你的用户名)\Games\Age of Empires 2 DE\(一长串用户数字代号)\mods\local\SoundMod1。
[*]在这个mod目录下,按照以下顺序创建文件夹——\resources\_common\drs\sounds。
[*]把你转换好的wem文件放到sounds文件夹里。
[*]打开地图编辑器,新建一个“显示指南”或“播放声音”的触发效果,在“声音(事件)名称”中,写入你的wem文件名称(需去掉“.wem”扩展名)。比如你的文件是“custom1.wem”,那就在框里输入“custom1”。
注意:在打包并发布战役时,注意把战役与wem文件放在同一个mod目录下:\resources\_common\scenario(或…\campaign?)。
原文:“When packaging your scenario, package it in the same mod alongside audio files (using resources\_common\scenario).”
重要提示(7月11日加入本文):如果你的mod里同时包含了 resources\_common\dat\empires2_x2_p1.dat 文件和自定义音频文件,那么你的音频文件很可能无法正常使用!官方已经发现了这个问题,正在研究如何解决。
图例:播放声音效果,声音为自定义音频文件“custom1.wem”
三、覆盖替换游戏内音效(SFX)
请进行以下步骤↓↓↓
[*]首先,你需要将你的音源(mp3或wav)文件转换为wem文件。这里有一个教程教你如何转换。
[*]在你的决定版用户目录中创建一个新的mod文件夹。例如——C:\Users\(你的用户名)\Games\Age of Empires 2 DE\(一长串用户数字代号)\mods\local\SoundMod2。
[*]在这个mod目录下,按照以下顺序创建文件夹——\resources\_common\drs\sounds。
[*]把你转换好的wem文件放到sounds文件夹里。
[*]查找上面的声音事件和音频源表“Unit Sounds/单位声音 ”分表。找到你想替换的声音事件(Sound Event),复制它的事件ID(Event ID),将4.中sounds目录里的wem文件重命名为“事件ID.wem”。请确保你要修改的声音的所有变种都有被替换,比如箭矢声音有10种或更多(见下方例图)
或者,你也可以使用AGE里的“声音/Sounds”选项卡来找出游戏里绑定了那些声音及其名称。(详见本指南的底部)
想在游戏里使用原版声音吗?看看这几个mod吧:
(上不了官网的话,也可以直接在游戏模组里搜索下面的mod名称)
[*]Original Sounds (所有)
[*]Original Sounds (Units Only) (只替换单位和建筑的)
[*]Original Sounds (UI Only) (只替换UI界面的)
已知问题及注意事项:
[*]循环声音(比如火焰燃烧)暂时不支持这个方法。循环声音不会被保存,只会播放一次。这是一个普遍的问题,官方正在着手修复。
[*]很多游戏内的音效,比如刀剑声、箭矢声等,还有一些UI音效,都会在过多音效同时播放时注销掉其他音效。当然,有一个变通方法可以避免这些声音堆叠得过多。这是一个普遍的问题,官方正在着手修复。
[*]与原版声音包相比,替换后的声音包在某些特定的效果里不一定总能保有相同的随机声音(?)。由于dat文件的错误,有些声音(比如城门关闭、飞镖)无法被替换。(7月11日:)有些音效(如所有AoC版后的DLC里的鸟)被绑定到了同一个条目里,就如征服者版本的各种声音一样(译注:征服者里一个条目包含多个wav,每个wav有随机占比,依据占比安排播放随机性)。这个问题可以使用数据mod来修正或拓展,并慢慢在后面的更新中修复。
图例:“Original Sounds”mod声音包里,用于替换所有箭矢音效及其变种的wem文件路径。
四、覆盖替换和新增音乐
请进行以下步骤↓↓↓
[*]首先,你需要将你的音源(mp3或wav)文件转换为wem文件。这里有一个教程教你如何转换。
[*]在你的决定版用户目录中创建一个新的mod文件夹。例如——C:\Users\(你的用户名)\Games\Age of Empires 2 DE\(一长串用户数字代号)\mods\local\SoundMod3。
[*]在这个mod目录里,按顺序创建文件夹:\resources\_common\sound\music
[*]把你转化好的wem文件放到music文件夹里。
[*]检查下面的可用列表以正确命名你的wem文件↓↓↓
你可以给每种音乐添加最多99首曲目(游戏内的除外)。它们将被随机播放。
可用的音乐文件名:(##表示两位数字,比如01)
[*]credits##.wem - 现在不能播放,制作组菜单使用的是主菜单音乐。
[*]frontend##.wem - 也叫“Open”,主菜单开始时播放的音乐。
[*]history##.wem - 历史背景音轨。
[*]lobby##.wem - 在联机大厅或大厅浏览器里播放。
[*]lose##.wem - 失败时播放。
[*]map##.wem - 打开一个战役地图时播放。
[*]win##.wem - 获胜时播放。
[*]ingame##.wem (01 - 30) - 在游戏内(In-game)播放。
[*]Aztecs_theme.wem (及其他文明,详见音频源表) - 文明主题音乐。(12月6日新增)
特别注意:
[*]目前所有的音乐文件名,都是区分大小写的,官方的文件名标准请查阅音频源表。(12月6日新增)
用于参考的音乐MOD:
如果你想把原版(征服者)的音乐放到游戏里,可以下载参考下面这个mod:(请阅读mod里的安装说明!)
[*]Original Music
已知问题及注意事项:
[*]如果你的mod里同时包含了 resources\_common\dat\empires2_x2_p1.dat 文件和自定义音频文件,那么你的音频文件很可能无法正常使用!(12月6日删除)
[*]在于菜单之间切换时,MOD过的菜单音乐没有淡入淡出效果。(12月6日新增)
图例:使用一个修改过的wem文件替换前8首游戏内音乐。
五、覆盖替换和新增嘲弄
请进行以下步骤↓↓↓
[*]首先,你需要将你的音源(mp3或wav)文件转换为wem文件。这里有一个教程教你如何转换。
[*]在你的决定版用户目录中创建一个新的mod文件夹。例如——C:\Users\(你的用户名)\Games\Age of Empires 2 DE\(一长串用户数字代号)\mods\local\TauntMod1。
[*]在这个mod目录里,按顺序创建以下文件夹:
\resources\<语言代号(如en和zh)>\sound\taunt (语言代号对应你所希望支持的语言,你也可以给多个不同的语言配置不同的嘲弄文本){*注}
[*]在\taunt文件夹中,重名名你的wem文件为“<嘲弄数字> <你想要的嘲弄文本>.wem”(注意> <之间的空格)。例如“324 This is a very special taunt!.wem”。输入数字324将在游戏中发出嘲弄。
如果你想覆盖替换已有的嘲弄,你需要使用形如“Taunt_98.wem”的文件于:
[*]\resources\_common\<语言代号(如en和zh)>\sound\taunt (替换某个语言)
或于
[*]\resources\_common\drs\sounds (替换所有语言的嘲弄)
{*注}(7月11日):如果只替换某种语言时嘲弄未能如期生效,那么你可能必须把你的mod嘲弄文件全部复制到\resources\_common\drs\sounds 里,从而替换所有语言的嘲弄了。官方已经获知这个问题并正在研究。
如果上面的指南未能实现替换,可以尝试参考下面这2篇早期教程(我汇总到了下面的白底引文里)
① 下载Wwise,安装好(注:还需注册、验证邮箱、下载安装组件等操作)
② 把你的音频转换为wav,然后依照这个教程,使用Wwise把wav转换为wem
③ 把wem放到你的C盘个人mod文件夹中——\mods\local\(MOD名字)\resources\en\sound\taunt
(注:en可替换为zh等其他语言缩写)
④ 重命名wem为“生效的嘲讽数字+任何文字”,嘲讽数字会告诉游戏系统输入哪个数字会生效。
1 yes.wem 会在输入数字1时播放
注:似乎这个方法对原本的mp3文件有一定的要求,我转换得到的音效有些能放,另一些却播放不了。可能是比特率或者其他我不知道的原因。
【推荐】另一个教程则非常详尽地记载了从bnk数据包拆解为ogg,到将wav转换为wem,再重新打包为bnk的方法
我做了一个日本语的嘲讽语音包,你们可以在创意工坊里找到。这花了我很多时间。所以我把方法写出来——《如何制作嘲讽语音包mod》
① 下载这个文件(外网可能有墙,所以我下好了,见下面↓)
② 使用SoundMod工具解压Taunts.bnk。
在决定版游戏本体根目录的\wwise\zh 文件夹里找到“Taunts.bnk”,复制到\SoundMod\目录下,然后打开“sound_banks.txt”,输入.bnk的文件名“Taunts”。然后启动“SoundFileEditor.exe”
③ 将.stream转换为.ogg
打开 \SoundMod\tools 文件夹,里面有4个文件。把他们4个全部复制到 \SoundMod\Taunts\bank_streams 文件夹里,启动“convert2ogg.bat”。
④ 将.ogg转换为.wav(可以使用Audacity或格式工厂)
现在你已经可以试听105个ogg格式的嘲弄了,但还需转换为wav,为稍后使用的Wwise做准备。
⑤ 如果需要的话,将你的.mp3转换为.wav(可以使用Audacity)
⑥ 重命名使wav文件名与zh里的一致
例如,在中文嘲弄bnk包里,“0d313b75”对应嘲弄“14 - 游戏开始啦!”,所以你需要将你要自定义的wav文件命名为“0d313b75.wav”。
注:这里原作者提供了一个嘲弄命名与输入数字的对应表 - 谷歌云文件,不过这个应该是从日语(ja)或者英语(en)wwise文件夹里提取出来的。修改中文语音应该用不上。
⑦ 重写你的嘲弄文件(?) - 原文:Rewrite to your taunts
⑧ 用Wwise把.wav转换为.wem
(转换教程还是这个教程)
转换前别忘了将转换设置“Format”PCM改为Vorbis。
设置的地方在这里:Project Explorer Window - Sharesets Tab - Conversion Settings - Defoult Conversion Settings.
⑨ 回到\SoundMod文件夹,把所有(注:或许需要105个,包括未修改的).wem文件放到\SoundMod\Taunts\bank_streams 文件夹里
⑩ 创建一个对应列表。
你可以在\SoundMod\Taunts\bank_streams 文件夹里找到一个“data.txt”文件,这个就是对应列表文件。按下面这种方法编写:
0031fd20=0031fd20.wem#
003ef8e2=003ef8e2.wem#
……
⑪ 重新打包
最后,回到\SoundMod 文件夹,再次运行“SoundFileEditor.exe”。运行结束后,“OutPut”文件夹里将有一个新的“Taunts.bnk”,这就是修改过的嘲弄语音包了。
注意:创意工坊不支持嘲弄文件,所以它必须重写才能生效。如果你发表了嘲弄包,你最好解释一下。
(译者注:这段话的意思可能是:“嘲弄文件会在游戏的工坊里显示叹号,不被支持,无法生效,所以需要手动替换游戏本体目录里的Taunts.bnk。故在发布嘲弄包时,最好想办法让下载mod的玩家知道这一点”)
六、在dat数据文件中更改或增加音效绑定
1. 打开AGE 2020
(可使用游戏根目录\Tools_Builds\里的英文版“AdvancedGenieEditor3.exe”,也可以到这个帖子里下载汉化版/汉化补丁,附带地,贴子里介绍了一些方便中文用户的帮助提示,强烈建议大家可以去看看)
2. 为AGE指定正确的文件路径——
“压缩的数据文件(*.dat)”—>“游戏根目录\resources\_common\dat\empires2_x2_p1.dat”
“语言文件Language”—>“游戏根目录\resources\zh\strings\key-value\key-value-strings-utf8.txt”
“DRS资源目录”—>“游戏根目录\resources\_common\drs”
(注:其中zh代表简体,tw代表繁体,en则代表英文。直接打开中文的utf8会乱码,需要在记事本中将其另存为ANSI码才能正常打开)
①若要新增一个声音到游戏中,并与单位/图像绑定(7月11日):
(其步骤与HD版的很相似,不过有两点不同。其一,DE使用wem文件而不是wav文件;其二,声音是通过AGE“Sounds/声音”选项卡里指定的字面文件名来引用的,而不是“Data Resource IDs/声音ID”)
[*]在“Sounds/声音”选项卡新建一个组(Group);(译注:或许是指最左侧的那一栏)
[*]按自己需要,在中间那两栏添加声音文件名、延迟、概率等设置。注意:
· 这些文件(Files)从在你的mod目录、个人配置文件夹或游戏根目录 里的 resources\_common\drs\sounds 里查询。
· 文件的拓展名没有意义,可以留空,无论如何都必须是目标文件夹里对应的wem。如果你使用了不同的拓展名(?),在查询期间游戏都会自动把它替换为.wem。
· 在添加完音频文件后,如果你想让不同文件以各自的概率随机播放,不要忘了点击“Auto-odds/自动分配”。例如,对4个音频文件自动分配概率后,会分配25、25、25、25的百分率,总计最高100%。同时,对于以1、1、1、1的概率存在的闲置动物音效,则几乎不会被播放出来。
[*]往你想替换的单位或图像的深蓝色声音ID输入栏里写上“Sound ID/声音ID”。
[*]可选项:有些玩家可能下载了你的dat,但没有下载你的音频文件,如果你希望他们能听到备用音效而不至于没有任何声音,可以在深蓝色输入栏上方的青色输入栏里填上游戏自带的事件ID(具体请查询上面音频源表里的事件ID)。
②重映射(remap)一个已有的声音给另一个声音:
[*] 修改单位声音:在“Unit/单位”选项卡中,选择你要更改的单位,向下拖动找到“Sounds (that only you hear)/声音 (仅当前玩家可听见)”部分(见下图)。有2个信息栏,由上到下依次是青色、淡蓝色。
青色栏是事件ID(从上面的音频源表里查询),用于不是MOD音频的声音事件。
淡蓝色栏用于引用“Sounds/声音”选项卡中MOD音频组,其文件名与MOD文件夹的\resources\_common\drs\sounds的文件绑定。(12月6日新增)
你需要编辑上面这两个ID,以确保无论是装了你声音MOD的还是未装MOD的玩家都能正常听到对应的声音。
下图是步弓手的示例:
https://www.hawkaoe.net/bbs/data/attachment/album/202012/06/215522fp77qdf7yrdyydyo.png
[*] 修改图像声音:在“Graphics/图像”选项卡中,选择你要更改的图像,编辑青色“Sound/声音”栏中事件ID(主声音和特定角度的声音都要改),要点跟单位声音的修改一样。(12月6日修订)
https://www.hawkaoe.net/bbs/data/attachment/album/201912/13/234808os47228nmm2smsqp.jpg
注意:众所周知,数据mod需要所有玩家都有相同的mod文件才能联机,所以这个更改音效绑定的方法最好只在你的mod确实需要的时候才使用。
七、覆盖替换画外音
(6月15日修订新增)
所谓“画外音”包括:战役入场/出场幻灯片的旁白、战役内对白。
请进行以下步骤↓↓↓
[*]首先,你需要将你的音源(mp3或wav)文件转换为wem文件。这里有一个教程教你如何转换。
[*]在你的决定版用户目录中创建一个新的mod文件夹。例如——C:\Users\(你的用户名)\Games\Age of Empires 2 DE\(一长串用户数字代号)\mods\local\VoiceMod1。
[*]在这个mod目录里,按顺序创建以下文件夹:
· 对于入场/出场幻灯片:resources\<语言代号(如en和zh)>\campaign\sounds
· 对于游戏内的旁白:resources\<语言代号(如en和zh)>\sound\scenario
· 如果你想一次性替换所有语言的画外音,那么所有东西都放在这里:resources\_common\drs\sounds
[*]把你转换好的wem文件放到你所选择的文件夹里。
[*]查看音频源表里的“Scenario & Campaign Events/战役对白&旁白事件”分表。注意,这个分表的前半部分为战役内对白,后半部分才是幻灯片旁白。根据你想替换的文件,以相同的名称重命名你的wem文件(注:名称中的“PLAY_”是可选的而不是必需的)(译注:不确定是重命名为事件名称 还是 事件ID)。
已知问题及注意事项:
[*]当前无法通过自定义入场/出场旁白声音来使用“上一个/下一个幻灯片”的功能 (?可能是在幻灯片之间切换时不会再次播放声音了吧)。(原文:“It is not currently possible to use the "Previous"/"Next" slide functionality with custom intro/outro voice-overs.”)
本帖最后由 wongyuhua 于 2019-12-14 16:37 编辑
dat目录下有个empires2_x2_p1_originalsounds.dat,顾名思义把这个重命名为empires2_x2_p1.dat应该就是经典音效了吧(结果试了,根本就缺失音效,看来是个未完成的项目)。别的音效都还好,主要是嘲讽语音跟着翻译一起错得有点令人大跌眼镜 wongyuhua 发表于 2019-12-14 11:10
dat目录下有个empires2_x2_p1_originalsounds.dat,把这个重命名为empires2_x2_p1.dat应该就是经典音效了吧 ...
试过了吗,或许可以试试 想在玩旧版自定义战役的时候能够正常播放自定义音效,但是试了一下把之前的音效文件转换成wem文件,保持文件名不变然后放在相应目录,游戏内还是没有播放音效 ,研究了一下发现旧版战役触发里面播放声音的触发都没有设置位置(打开旧版帝国发现这个触发本身也不能设置位置。), 当我设置了位置过后再测试战役 ,就可以正常播放了。但是我不可能把想玩的每个战役都打开编辑器,然后在触发里面找到所有播放声音的触发,然后设置一下位置吧...... 所以想问一下这个有没有解决办法 Alsoexist 发表于 2019-12-28 13:00
想在玩旧版自定义战役的时候能够正常播放自定义音效,但是试了一下把之前的音效文件转换成wem文件,保持文 ...
暂时只有拆战役补做触发这一途。。。
(好感动,终于有会自己动脑做的坛友了T^T)
如果要说替代的话,写程序自动处理倒是理论上可行,但是工作量太大了而且我也不会编程。。。 Alsoexist 发表于 2019-12-28 13:00
想在玩旧版自定义战役的时候能够正常播放自定义音效,但是试了一下把之前的音效文件转换成wem文件,保持文 ...
你是怎么做到的?可以分享一下相关文件夹和具体的步骤吗?我这里测试时只能用显示指南才能播出,播放声音的效果全都无效 本帖最后由 HudsonLee 于 2020-1-8 09:46 编辑
自己转换的wem播放没声音啊 HudsonLee 发表于 2020-1-7 21:52
自己转换的wem播放没声音啊
请确认你的转换设置是PCM还是Vorbis 砖烧白开水 发表于 2020-1-8 13:51
请确认你的转换设置是PCM还是Vorbis
设置好了,原来要重启游戏一次才生效~ 更新了音频表,加了汉化。
一些bug已经修复,对PCM还是Vorbis似乎已经没有要求了。
一、二、三、四部分有变更,其他没有变。
有需要的朋友请重看一遍前半部分~~
{:173:} 123tianwen 发表于 2020-2-12 13:32
请问那个mp3转换wem格式的软件叫什么名字,在哪里下载!谢谢
Wwise Launcher 在它的官网下载 2月14日更新第三版!
(感谢WC提供音频源表下载)
[*]音频源表更新
[*]第二点的4. stream改为了sounds
[*]第四点开始的注释 已取消(删除线)
2月14日更新第三版!
(感谢WC提供音频源表下载)
[*]音频源表更新
[*]第二点的4. stream改为了sounds
[*]第四点开始的注释 已取消(删除线)
newtonerdai 发表于 2020-2-14 20:58
2月14日更新第三版!
(感谢WC提供音频源表下载)
楼主我的按照官方自定义战役来实施转wem,但是转换完成后游戏里无音效,不知道怎么解决,我发给你瞧瞧,帮我想想怎么解决。 本帖最后由 cly806 于 2020-3-26 13:00 编辑
附件在此,楼主帮忙看一下,指点一下。@newtonerdai 4月6日更新!
增加五、覆盖替换和新增嘲弄部分的完整教程 6月15日更新!
音频源表几乎没变,我看到的就多了一个五月活动用的音频。
增加了 七、覆盖替换画外音 部分的完整教程!
五、覆盖替换和新增嘲弄部分基本重写。 谢谢楼主 7月11日更新。
涉及分节:二、三、四、五、六。
[*]新增一个关于dat与音效共存的重要提示。
[*]新增嘲弄部分的一个临时解决方案。
[*]新增加入自定义声音并用于单位/图像的指南。
Tip:可利用Ctrl+F搜索“7月11日”来快速定位本次新增内容 嘲讽语音的对应表有吗,比如11奸笑的文件位置
页:
[1]
2