音乐
阅读
2024-05-16更新
最新编辑:春暮Q
阅读:
更新日期:2024-05-16
最新编辑:春暮Q
安装和配置
注册并登陆FMOD官网,前往下载页面下载 FMOD Studio 1.10.20。不要下载最新版FMOD Studio。在同页面下找到 "Learning Resources > Celeste FMOD Studio Project > Celeste Project (includes DLC content)" 并下载。
将下载好的工程放在自己记得住的固定位置。所有以 Celeste Modding 为目的的音频工作都将在你的 FMOD 工程中进行,所以请妥善保管自己的工程文件。官网只提供了 Windows 和 macOS 的软件版本。如果你不在这两个平台上,你可以尝试使用 WINE 运行软件。
可忽略选项:调整音频压缩选项以降低文件大小。Preferences > Build > Project platforms > Desktop > Quality调整至50(默认为80)
创建你的第一个背景音乐
学习这一部分,你可以为你的地图添加一个可正常循环的背景音乐。
打开Celeste FMOD Studio工程(后缀名为.fspro)。
创建Event
游戏中产生的每一个声音都会对应FMOD中的一个Event(事件)。这些Event可以通过游戏代码触发、控制和停止。
在左侧的Events标签页下,右键 > New Folder,创建属于你的文件夹。在你的文件夹下,右键 > New Event > New 2D Event。命名建议:文件夹名为你的昵称,Event名为你的地图名字或者音乐名字。在这里套文件夹的主要目的是避免Event路径冲突。
将Event分配给Bank
Bank是 Events的集合,经过格式化和压缩后可在游戏中使用。
右键你刚刚创建的Event > Assign to Bank > New Bank…,在弹出的窗口中为你新创建的Bank命名。一定要注意避免使用官图的Bank名:dlc_music, dlc_sfx, music, sfx, ui, Master Bank。
如果操作正确,你的Event会不再显示 #unassigned,并且你能在Banks标签页找到你新建的Bank。
导入音频
在左侧的Assets标签页下,类似于Event的操作,右键 > New Folder。将需要导入的音频拽进文件夹。
这时你的音频就被导入进Assets里了。将它拽入右边的Event编辑器。
* Event编辑器界面的缩放功能:Alt/Option+鼠标滚轮,细致缩放;‘[’ / ‘]’, 水平方向缩放;Ctrl/Command+ ‘[’ / ‘]’,竖直方向缩放。
将Event路径重新设置到正确的Bus
游戏将不同类型Event的路径设置到了不同的Bus(总线)以方便管理。例如:游戏暂停时,背景音乐会被低切。
打开Mixer窗口。
右键你的Event > Reroute into: music/tunes/mains
* 如果你的Event不是背景音乐,而是
游戏音效:gameplay_sfx/game/general/yes_pause
磁带音乐:music/tunes/cassette
你可以通过参考原版相似功能Event路径来确定你应当设置的路径,也可以通过原版相似功能Event并重新命名,因为复制的Event会保留原有Mixer设置。
添加并设置fade参数
对于用来播放背景音乐的Event,fade参数是必须添加的。当游戏在切换音乐时,才会正常地将当前音乐淡出。
点击"Timeline"右侧的加号,添加fade (shared/fade) 参数
为了实现fade为1.0时音乐正常播放,0.0时音乐消失的效果,你需要在fade对应的标签页下,右键点击Master轨道,为Master轨道创建一个Automation(自动化)
在你创建的自动化曲线上设置两个节点:值0.0对应-∞ dB,值1.0对应0.00 dB。
这时你的fade参数就已经设置好了。
为音乐添加循环
添加循环的第一种方法是使用Loop Region。
在Event编辑器的"Logic Tracks"中,右键 > Add Loop Region。拖拽Loop Region的左/右侧使音乐听起来能无缝循环。按住Alt/Option键拖拽可以微调。
添加循环的第二种方法是使用Transition,可以创建淡入淡出效果,相比于前一种方法更适合处理有混响延迟尾巴/没有流畅循环的音乐。[1]
在Event编辑器的"Logic Tracks",右键 > Add Destination Marker 到循环起点处,右键 > Add Transition To(或Add Transition再右键Transition > Set Destination To刚刚创建的 Marker)到循环结尾处。创建淡入淡出效果:双击Transition 以创建一个Transition Timeline。加长/缩短Timeline到合适的时长,从左右拽入Source和Destination。从Source右侧往做拉,Destination左侧往右拉,即可淡出和淡入(你也可以选择只淡出不淡入等)。
导出文件并导入游戏
你需要在Audio文件夹中放入相同命名的 Bank(.bank) 文件和 GUIDS(.guids.txt) 文本文件。
Bank文件
在左侧的Banks标签页下找到你创建的Bank,右键 > Build... 。如果操作正确,会弹出一个正在Build的进度条窗口,Build完成后会自动消失。复制 /工程路径/Build/Desktop/你的Bank 到Audio文件夹。
GUIDS文件
File > Export GUIDS... 。如果操作正确,会弹出 Studio successfully exported the project's GUIDs to "/工程路径/Build/GUIDs.txt",点击OK。复制 /工程路径/Build/GUIDs.txt 到 Audio文件夹。
请注意GUIDS文件会记录所有Event的guid,这包括那些没有在Bank里的,因此如果你不希望人们看到他们,可以打开文件并删除那些无关的guids。
重命名
必须要相同命名,比如:
YourName.bank
YourName.guids.txt
在游戏中加载音乐
你可以使用Everest Sound Test测试。
Everest Sound Test是一个非常有用的功能,可以试听FMOD Events在游戏中的效果,可以控制FMOD Events中使用的参数并试听效果。前两格灰色的下标是Bank的,后面三格白色下标可以查找每个Bank里的Events。这个功能不仅能辅助制作Event,还可以偷窥别的复杂Event的参数设置(比如心门,因为通常都会有progress和layer设置)。因为人们无法轻易从Bank反向出原有的FMOD工程,这一功能就变得尤为可贵。[2]
你可以在 房间音乐 或 元数据 中设置你的音乐,设置应为event:/你的event路径/你的event名称(如event:/music/lvl2/awake)。你可以在GUIDS里找到应当填入的内容。