本人是个萌新,刚刚从B站上抄了个BD,但由于BD里的一个召唤技能:风之恶魔(本体文件里的英文名叫winddevil),这技能召唤出来的风魔一直会发出风声,且声音太吵,就想着删掉或者改掉削弱这个声音,由此便产生如题的需求。
这个需求经过初步拆解以后,就成了“如何将 游戏安装目录/resources 下的sound.arc文件解包和重新打包”,甚至再进一步,就是“如何用archivetool对.arc/arz文件进行解包和重新打包”。
经过我一通寻找解决办法的经历,我必须先吐槽两点:一是百度搜索的结果没几个能用的,真正完美解决我问题的还是谷歌;二是3dm和百度贴吧也没几个能用,只能多多少少提点一下,只学会了最简单的解包。无法解决根本问题,部分人发帖教用AssetManager打包,却用直接忽略了开始的关键步骤,中间及后面部分因为和我需求差异有点大,也让人懵逼,还有人说archivetool只能解包不能打包。
接下来正文开始👇(如果你是在找archivetool打包方法,请直接跳转第六部分)
翻开游戏安装目录(我的是买的学习版,等大促再转steam,steam如何找到安装目录可以直接用加粗文字搜百度,很简单),找到resources文件夹,里头有个Sound.arc文件,本体声效(mod的应该在mods文件里)相关的内容一般都在里头。这里我们先将这个文件复制一下,留个备份以免改错,方便恢复原样。



这里建议在磁盘根目录新建,比如我就是在D盘里新建了一个temp文件夹,这里将是我们的工作台,后面的解包打包都在这个文件夹里头操作。

这里请按照下面的步骤来:
- 将前面游戏安装目录找到的Sound.arc文件复制或剪贴到前面新建的temp文件夹里
- 再次找到游戏安装目录,将安装目录下的achivetool.exe和zlibwapi.dll 复制到前面新建的temp文件夹里
做完后你新建的temp文件夹里应该像下面这样

注:这里有些小伙伴可能会懵逼,只看到achivetool没看到后面的exe,不确定是不是,如果有这个情况,不用担心,就是它,只是你没勾选显示文件扩展名,如下图

目标声效文件也就是Sound.arc了。
首先我们要了解,解包和打包的过程是通过windows的cmd命令行工具,操作archivetool.exe,对.arc/arz进行的。
这里我们通过键盘快捷键:win+R,来启动"运行"这个工具,输入cmd,再按enter确认进入,屏幕上就出现了如下图的界面了。

随后我们通过以下命令让cmd工具进入temp文件夹里,如图八
cd.. 回退到上一级文件夹
d: 进入D盘
cd D:\temp 进入D盘的temp文件夹

然后我们先输入 archivetool.exe ,会反馈给我们操作这个exe的命令

这里我们主要用到-update -extract 这两个, -list和-remove 也可以玩玩,比较简单。
-list 是展示目标文件的结构内容
-remove 是用于直接删除arc文件里的指定文件,这个命令不涉及解包打包。
接下来就是本文重点了。
首先用-extract 解包,完整命令如下:
archivetool Sound.arc -extract D:\temp


结果如下:


首先找到要替换的目标声效文件,比如我要替换的风之恶魔(本体文件里的英文名叫winddevil)
一开始我以为这个是技能声效,然后用-remove直接删除了shaman_storm_loop.wav(位置结构skillsounds/class06/shaman_storm_loop.wav),结果没有生效。
后面我找了下这个技能的英文名称(游戏里切英语看),然后一个一个翻找才发现这玩意儿居然是enemies下的声效

然后我们就可以删除或者修改这个声效了(一开始我不会将文件夹打包成arc文件,就用-remove了,现在会了,就直接修改了,我是选择削弱降低这个声效的基础音量),修改声效可以百度搜索音频剪辑修改工具,比如Audacity。
修改好后直接覆盖就行,覆盖之前还是建议备份哈。
这里使用-update 命令

完整的命令如下:
archivetool.exe "D:\temp\Sound.arc" -update . "D:\temp\Sound" 6
命令结构解析:
archivetool.exe :这个在命令行里后面记得跟一个空格,完整命令里已经有了。
"D:\temp\Sound.arc" :这部分的意思是指定打包后生成的文件所在目录及名称、格式。如上也是要跟一个空格,此外两边的引号是英文的双引号。
-update :和第一个一样,后面要跟空格
. :这个是英文的点号,后面也要跟空格
"D:\temp\Sound" :这部分的意思是指定需要被打包的文件夹,如上也是要跟一个空格,此外两边的引号是英文的双引号。
6 :这部分是指定压缩率或者说档位,我也看到部分地方是写9,但6是肯定可以,9没有试过。



在整个过程中,最无助的是第六步,网上鲜有靠谱的答案,最后是通过谷歌搜索关键词“archivetool grimdawn”第一页三号位找到的一个国内朋友的博客文章,这才得到的靠谱答案,而且这位的文章教程写的很细,图文代码并茂,甚至还有gif,几分钟就解决了我的问题需求。
这里要特别鸣谢一下这位朋友:恐怖黎明修改语言包的方法【以修改物品颜色为例】
最后考虑到肯定还有不少人不知道如何使用archivetool来打包文件,特地记录在了踩蘑菇这里,希望能帮到有缘人。当然,如果帮到了你,并解决了你的痛点,还望不吝打赏一二。