欢迎光临散文网 会员登陆 & 注册

心灵终结3.3.6地图编辑器萌新教程第12篇:游戏中的背景音乐,新背景音乐的添加

2022-05-12 23:23 作者:不会游泳的企鹅24  | 我要投稿

本篇的大部分内容实际上与地图编辑器无关,对官方战役、遭遇战等同样适用,对地图编辑器不感兴趣但想在游戏中添加新背景音乐的朋友也可以参考本文。

在本篇中可能要用到的工具或文件如下:

1、音乐软件,如QQ音乐,网易云音乐等

2、格式工厂

3、文件Thememo.ini,可以在心灵终结根目录中的Resources文件夹内找到

4、红警2语言编辑器(非必需)

除了从音乐软件中下载歌曲可能需要开通会员之外,其他文件和工具可免费找到和使用。


一、全阵营音乐

      在游戏中,按Esc进入菜单栏,在“游戏控制——音效”中可以看到背景音乐列表。在心灵终结3.3.6中,列表中应该有95首背景音乐,包括心灵终结自身的69首和红警2原版的26首(前面标有RA2)。如果你发现自己的音乐列表中只有十几首,那么是因为你关闭了“全阵营音乐”。这样,在游戏中你就只能在列表中看到你所选的阵营的背景音乐,在随机播放过程中也只会播放这里面的音乐。如果你想要听其他阵营的音乐,可以在客户端的“设置——音频”中开启“全阵营音乐”。

开启全阵营音乐

二、背景音乐的配置文件:Thememo.ini

    在官方战役中,有时会在特定的任务场景中播放特殊背景音乐来烘托气氛,比如盟24的It's Happening,苏24的Annihilation March等,但这些音乐即使开启了全阵营音乐也不会显示在音乐列表中,在一般的遭遇战和战役中也不会播放,这是由配置文件:Thememo.ini中的代码决定的。

    在心灵终结3.3.6的根目录的Resources文件夹下,可以找到Thememo.ini文件。打开文件后,整个文件分为两部分。第一部分为“数字=一堆字母”,这被称为“注册”,等号前面的数字称为“序号”,后面的字母称为“注册代码”,每一首背景音乐都会对应一个注册代码。第二部分分为若干段,每一段称为一个“小节”,每一小节开头有一个中括号,中括号里面的内容被称为“小节名称”,小节名称必须与前面的某个注册代码相同,否则后面的该小节后面的代码无效。下面的若干条代码称为“小节内容”,每一条小节内容等号前的称为“参数”,等号后的内容称为“参数值”或“键值”。

    在注册部分,你可以看到被注册的歌曲共有一百多首,而游戏中背景音乐列表中只有95首,恰好对应Special Themes之前的95首。而这之后的歌曲不出现在背景音乐列表中。以It's Happening为例。这首歌曲在注册列表中序号为159,注册代码为Happening. 在第二部分中,你可以找到名称为[Happening]的小节,下面的代码就决定了这首歌曲的一些性质。现在我们说明每条代码的作用。注意,不同的小节下面代码的参数不一定相同,大家可以分别找注册序号在95之前和之后各一首歌曲对应的小节进行对照。

    Name=XX:与游戏中音乐列表里该音乐显示的名称有关。注意:背景音乐显示的名称不一定是音频文件的名称,也不一定是bgm的注册代码。(后面详细说明)

    Sound=XX:该背景音乐对应的音频文件名称。即“该注册代码对应播放哪一首音乐”。心灵终结本身自带的背景音乐音频都在mix文件中,因此在根目录里看不到。

    Normal=yes/no:这句代码是前面所说的前95首和后面的背景音乐的区别所在。若不写这一条,默认为no。如果写yes,那么该音乐就会出现在游戏中的背景音乐列表中;如果写no,则不会出现。序号为95之前的音乐为一般的遭遇战音乐,这一条均为yes;96之后的音乐为特殊音乐,一般只在特定任务的特定场景出现,这一条均为no.

    Length=XX:音乐长度,实际没什么作用(每一首歌曲的时间长度本来不就已经确定了吗,要这句干什么,我不理解.jpg)

    Repeat=yes/no:是否重复。若不写这一条,默认为no。如果填yes,那么游戏中一旦播放到了这首歌,不论是手动选择、地编触发还是随机播放,就会一直单曲循环。当然你可以在音乐列表中手动切换。(比如你可以试试在盟24中在播放It's Happening时切换成狗上大碟子的Chitzkalla)

    Side=XX:这条代码前面有一个分号。凡是在ini文件中用分号开头的都属于注释内容,没有实际作用。

    用红警2语言编辑器打开stringtable10.csf,找到类型THEME,可以看到上面ini小节中的Name参数值对应的就是类型THEME中的项目名称,而对应的项目内容就是游戏中音乐列表中显示的名称(前提是该歌曲Normal=yes,即会在列表中显示)。如果在ini中某一歌曲的Normal=yes而没有Name这一项,或者有NAME参数但其参数值在csf文件中找不到对应项目名称,则在游戏中的背景音乐列表上会显示“MISSING”,但只要能找到Sound参数值对应的音频文件,该音乐还是可以正常播放的(这也是我一开始写语言编辑器非必需的原因)。比如,将[Happening]小节中的Normal=no改为yes,并且添加上“Name=It'sHappening”,你可以在音乐列表上找到“MISSING:THEME:It'sHappening”,这不是正常显示的名称。然而你仍然可以正常播放此歌曲。

三、新添加背景音乐

    有了前面的准备,我们就可以添加新的背景音乐了。比如,我们想要新添加“Chitzkalla”歌曲,即被废弃的“狗上大碟子”神曲。

    首先,在网易云音乐上下载该歌曲。(搜索该歌曲后在“声音”中可以免费下载,在单曲中下载要收钱)

    但我们直接下载的歌曲是mp3格式的音频文件,不能直接在红警游戏中使用。为此,我们需要将其转换为wav格式的文件。

    打开“格式工厂”,将下载好的歌曲转换为wav文件。注意:在转换前,一定要在“输出配置”中将“采样率(赫兹)手动改为22050”,否则在游戏中无法正常播放!

    转换后,将得到的wav文件移动到心灵终结根目录中,重命名,名称仅由英文字母组成,不要带空格。例如我们将该歌曲就命名为“Chitzkalla”

    然后,打开“Resources”文件夹中的“Thememo.ini”文件。注意:以下操作在根目录中的Thememo.ini文件中进行是没有用的。因为每当你打开游戏时,根目录中的Thememo.ini文件就会被Resources文件夹中的替换!首先在ini的注册部分中的“new songs”下面写“序号=注册代码”,序号按顺序写即可,注册代码可以与音乐名称不一致,不过为了方便,我们还是将注册代码写为“Chitzkalla”

    然后,在第二部分随便找一个地方(比如最后)写该小节的内容如下并保存。当然你可以根据自己的需要和前面对ini中各条内容的说明修改其中的参数值。注意这里中括号中的小节名称要与前面的注册代码一致,Sound后名称要与音频文件名一致。

    最后,用语言编辑器打开stringtable10.csf文件,在THEME类型中添加条目,项目名称与ini文件中Name后名称保持一致(不用写THEME:),项目内容就是音乐列表中显示的名称。添加后保存文件。

打开游戏,我们就可以在音乐列表中找到Chitzkalla了。

四:地图编辑器中关于播放背景音乐的触发

    地编中的触发“结果20:播放音乐”可以实现满足一定条件播放指定背景音乐的效果,可以用于指定每一任务的开场音乐,也可以用于特定场景中播放特殊背景音乐。不过是否重复不取决于地编,而是取决于前面说的ini中Repeat参数值。一般来说,战役中的特殊场合、需要给人留下深刻印象的场景的背景音乐才会选择重复播放。该事件的参数值填的是背景音乐的注册代码。比如,你想将Chitzkalla作为战役的开场音乐,就可以写一个触发,条件为“流逝时间0秒”,结果为播放音乐,参数选Chitzkalla。

    另外,如果参数填Nothing,就是使背景音乐停止,一般用于战役特殊场景,或任务失败时。实际上Nothing也是背景音乐的注册代码,只不过对应的音频没有任何声音,且Repeat=yes而已。

    下面的几张图可以帮助大家梳理前面出现的和背景音乐有关的名称,注意同一名称内容一定相同。


心灵终结3.3.6地图编辑器萌新教程第12篇:游戏中的背景音乐,新背景音乐的添加的评论 (共 条)

分享到微博请遵守国家法律