Mod:音频
跳到导航
跳到搜索
基础 |
---|
入门 • 基础 • Lua脚本 • Data.wak • 实用工具 |
制作指南 |
音频 • 敌人 • 生物群系 • 天赋 • 法术 • 精灵表 • 材料 • 图像放射器 • 特殊行为 • CMake使用 |
组件/实体 |
组件文档 • 枚举 • 特殊标签 • 所有标签列表 |
Lua编程 |
Lua API • 实用脚本 |
其他信息 |
法术和天赋的ID • 声音事件 • 魔数(Magic Numbers) |
此页面介绍了默认音频如何提取、替换以及新增你自己的音频。
现有音频的提取与替换
.wav
音频文件被压缩在Steam\steamapps\common\Noita\data\audio\Desktop\
目录下的20多个.bank
文件之中。
- 下载并解压 "Fmod bank tools.zip" (discord link)
- 找一个你想要修改的bank文件(如
event_cues.bank
)将它复制到你要提取的bank的文件夹里。 - 运行
Fmod Bank Tools.exe
设置Bank Source Folder
到bank文件夹路径(完整路径C:/.../bank
)并设置Wav Destination Folder
到wav存放的目标文件夹路径(也是完整路径)。两个文件夹都应该在你解压zip的文件夹里。 - 点击工具的 Extract (提取) 按钮以获得bank中的所有音频文件。
- 现在你可以用游戏音效来创作音乐了!
- 通过编辑 wav 文件夹中的
bankname.txt
获取正确的音效名以替换(或新增)任意 .wav 文件,然后在Fmod Bank Tools.exe
中点击 Rebuild(重新构建)。如果遇到报错点击 ok 直到它完成。 - 进入游戏测试。 (记住这主要是用于替换而不是新增,你可以通过Fmod Studio来新增更多功能).
注意:因为这种方式替换了bank文件,所以你不能启用多个音效替换mod!
为Noita创建自定义音频
Noita 使用FMOD Studio 作为自己的音效引擎, (使用版本 2.01.05). 基本原理是这些由音效构成的Fmod "bank" 文件,且每个音效都附加了单独的事件。这些事件在XML/Lua中被引用以播放对应的音效。
从以下两个目录开始:
Noita/tools_modding/noita-fmod-project/
Noita/mods/example/
安装
- 确保Noita本体目录(tools_modding)下有 noita-fmod-project 文件夹
- 从 FMOD 官网安装FMOD Studio (version 2.01.05)(需要注册登录才能下载).
FMOD
- 在 Fmod Studio中打开 noita-mods.fspro ,你将会看到一个包含
create
示例事件的snd_mod文件夹。在Noita中有多种不同的事件,但现在请记住create
和loop
是最常见的。 - 通过点击处于snd_mod
create
事件你将会看到一个处于异步模式(Async 选中这段音轨即可查看)具有音调自动随机化、Distance
参数、能在游戏中产生如音量衰减效果的lowpass
参数的worm_attack_bite_01
示例音频 - Noita also has many Routing Groups which add effects to your audio such as reverb and equalization, to access these you'll need to go to the
Window
options and thenMixer
, where you can move your sounds into their respective groups, such asgame_sfx
which housessnd_mod/create
, this group is what you'll likely use the most.(译者注:这条不想翻译,这个不重要😣,因为这个步骤你不会用fmod的话很难复现出来, 我建议你直接替换示例中的音频) - 决定好要在事件中制作音效你就想要把它添加到bank中,这样Noita才能将其作为游戏资源使用它。需要右键这个事件选择
Assign To Bank
中的目标bank(最好不是Master Bank) - 在此之后你需要通过点击
File
选项下的Build
来进行构建。 - 至此并没有结束,Noita仍然不知道如何访问Bnak中的事件,因此你需要在
File
选项下使用Export GUIDs
来生成一份映射表。这是你需要在init.lua
中加载的内容,这样Noita就有了bank音频的引用。
Noita
- 将
noita-fmod-project/Build
复制 GUIDs.txt 到你的mod文件夹. - Go into
noita-fmod-project/Build/Desktop
and copy and paste thebankname
.bank file (忽略 Master Bank) you created in FMOD into your mod's directory. - 将
noita-fmod-project/Build/Desktop
你在Fmod中生成的bankname
.bank文件复制到你的mod文件夹。 - 在你mod的 init.lua 文件中添加 (使用你自己的 GUIDs.txt 文件路径)
ModRegisterAudioEventMappings("mods/modname/directory/to/GUIDs.txt")
- 在你想添加音效的xml文件中根据你在Fmod中创建的事件添加对应的
AudioComponent
或AudioLoopComponent
一个投射物的AudioComponent
大概会是这样:
<!-- file: .bank 要替换为 .snd 译者注: 并不需要!!! -->
<!-- event_root: 在Fmod中你创建的内部含有 create 或 loop 事件的一个事件文件夹 -->
<AudioComponent
file="mods/modname/directory/to/bankname.snd"
event_root="foldername/eventname"
set_latest_event_position="1"
></AudioComponent>
- 进入游戏体验吧!
默认音效列表
参见: Mod: 声音列表 (暂不完整)