快看:求生之路2关卡背景音乐替换目录Part.1
标题所提到背景音乐指的是加载完毕进入地图后所播放的待机音乐,也就是我所谓的开场BGM。它们有的只会在安全屋内播放,有的在走出安全屋后仍会继续播放。在mod作者修改背景音乐时,也往往会出现进入关卡后同时播放两首曲子的情况,为了解决这个问题,通过实验大概得到了各关卡BGM对应的文件名。本文章仅从实用的角度出发,或许并不能完全解决你的问题,而且由于没去扒地图代码,许多对于机制的解释是从现象出发的,如果有错误还请谅解并指正。
让我们在Left 4 Dead 2\left4dead2\sound\music目录下找到两个文件夹,其命名分别为“cp music”和“st music”,各关卡开场BGM的文件就在这两个文件夹中。由于L4D2在发售后推出了数次更新,分别包含了1代战役、The Passing、The Sacrifice、Cold Stream以及The Last Stand的地图,因此,在Left 4 Dead 2\left4dead2_dlc1\sound\music、Left 4 Dead 2\left4dead2_dlc2\sound\music、Left 4 Dead 2\left4dead2_dlc3\sound\music、Left 4 Dead 2\update\sound\music这四个目录下也能找到cp music和st music文件夹(update文件夹为The Last Stand更新,它只有一个st music文件夹),它们包含了前述更新战役地图的开场BGM。
【资料图】
对于修改背景BGM的需求来说,个人认为只需要修改st music文件夹内的文件即可,因此只在下图中给出了st music内文件与开场BGM的关系,下面将指出一些特殊之处。
对于二代战役,每个章节第一张地图(如C1M1、C2M1、C3M1等)有专门的开场BGM(为了方便,简称首图BGM),但章节的其他地图(如C1M2、C9M2、C3M4)开场均会播放youhadbetterpray.wav(这类简称非首图BGM),前者仅在出生地点播放,离开后停止;后者将会持续播放完整首BGM。
消逝、牺牲、刺骨寒溪的非首图BGM均使用了二代的youhadbetterpray.wav,而坠机险途偷懒用了死亡丧钟的deathtollintro.wav,上次更新的背水一搏也使用了该文件,我觉得多多少少也印证了该战役属于死亡丧钟的一条平行时间线。
我想不通为什么V社会把毫不留情的开场BGM单独拎出来,而不是和其他一代战役的放在一起。
接下里以Left 4 Dead 2\left4dead2_dlc3\sound\music\stmusic和cpmusic来说明一下这两个文件夹的用途。st music中的bloodharvest.wav是c12m1_hilltop的开场BGM,cp music中的bloodharvestor.wav和bloodharvestor2.wav是血腥收获后面四张图,即c12m2_traintunnel、c12m3_bridge、c12m4_barn和c12m5_cornfield的BGM,而st music中的bloodharvestintro.wav仅是开场的一个氛围音,长度仅9秒。因此我们在c12m2开场时会听到bloodharvestor.wav和bloodharvestintro.wav同时播放,背景音乐搭配氛围音播放并不会让人产生违和的感觉。但若修改时这两个文件被替换成了不同的背景音乐,同时播放就会很嘈杂。要解决这个问题有很多方法,比如把cp music的文件全删掉并替换st music内的文件,这样在非首图出了安全屋还能继续听BGM;又或者保留/删除st music内的效果音,仅替换st music内其他文件和cp music的文件,这样统一成出了安全屋就没有开场BGM,怎么做取决于你的想法。
上面只是简单讲述了一些基本的有规律的东西,实际上因为V社的特殊操作和偷懒,情况会有所变化,需要稍微琢磨一下。另外一代cp music的文件名都比较有指示性,所以就没有一一给对照表了,和地图代码对比排除一下基本上能确定位置。
最后还要谈一个问题,L4D2作为2009年的游戏,有时候爆改太多引擎确实遭不住。在音频方面,L4D2普遍读取的是采样率44100Hz、位深度16位的wav文件,当修改后的文件过大时,多音轨同时播放将会导致音频系统的故障,具体表现为BGM突然消失并且游戏帧数暴跌,这种现象在牺牲救援关尤为明显,当救援开始的BGM、tank的BGM以及你队友在点播机上放音乐的BGM同时交织时,就很容易出问题。因此建议在修改BGM时时长尽量不要超过两分钟,当然你要放四分钟的也没问题,在文件格式和游戏系统上还有方法使用。
影响音频系统工作的主要是文件大小,除了44100Hz、16位wav文件外,L4D2也能读取44100Hz、8位wav文件(44100Hz是必须要满足的),并且也不挑立体声(默认是双声道)和单声道,如果用au将文件由16位立体声转换为8位单声道,可以将体积缩小为原文件的1/4,可以大大减轻多声轨播放时音频系统的负担,但这种“魔改”是有代价的。L4D2的mod在表面上的机理是存放原文件的替换文件,并且在启动后优先读取替换文件,当替换文件与原文件格式不符时就会出现问题。就音频方面来说,最常见的就是爆音,当你使用了不符合16位的音频文件后,如果还使用mod来替换音频,就会产生爆音的问题,这是重构音频缓存也不能解决的;尤其是一些三方地图,它们通过mod替换了游戏内的原文件,而这些原文件已经被“魔改”过了,也会产生爆音问题,比如wild ride里的tank bgm。不仅仅是BGM,枪声和其他效果音也适用于这一点,up主月悠红茶制作的第一版少前mod就使用了独立的枪声文件(枪声文件既可以包含在枪械mod中,也可以单独拿出来直接覆盖替换原文件),我记得是44100Hz、8位深度的,因此在订阅创意工坊其他枪械模组后,开枪、换弹均会爆音(不过现在好像已经找不到那一版了,现在发出来的第一版都是2022年修改过的,也不提供音频修改了好像,我倒觉得老版里救援到了的BGM挺好听的,不知道叫什么名字)。
当然你也可以不管上面我说的这些,在音频系统故障时打开你的控制台,在里面输入“record XXX”,只输入引号内的record XXX,XXX替换成任意你想要的名字,通过这条指令开始录demo。录制demo会停掉所有正在播放的BGM,这样自然也就不会卡顿了,问题解决后再在控制台输入“stop”停止录制,并且记得去Left 4 Dead 2\left4dead2目录下把录的demo文件删掉,录多了很占储存空间。
大概就是这些,有啥缺的错的稍后再改,Part.2把其他BGM的位置也点一下,比开场BGM好找的多。