Mod:音频

来自Noita Wiki
跳到导航 跳到搜索
模组制作导航
基础
入门基础Lua脚本Data.wak实用工具
制作指南
音频敌人生物群系天赋法术精灵表材料图像放射器特殊行为CMake使用
组件/实体
组件文档枚举特殊标签所有标签列表
Lua编程
Lua API实用脚本
其他信息
法术和天赋的ID声音事件魔数(Magic Numbers)

此页面介绍了默认音频如何提取替换以及新增你自己的音频。

现有音频的提取与替换

.wav音频文件被压缩在Steam\steamapps\common\Noita\data\audio\Desktop\目录下的20多个.bank文件之中。

  1. 下载并解压 "Fmod bank tools.zip" (discord link)
  2. 找一个你想要修改的bank文件(如event_cues.bank)将它复制到你要提取的bank的文件夹里。
  3. 运行Fmod Bank Tools.exe 设置Bank Source Folder到bank文件夹路径(完整路径 C:/.../bank)并设置Wav Destination Folder到wav存放的目标文件夹路径(也是完整路径)。两个文件夹都应该在你解压zip的文件夹里。
  4. 点击工具的 Extract (提取) 按钮以获得bank中的所有音频文件。
    • 现在你可以用游戏音效来创作音乐了!
  5. 通过编辑 wav 文件夹中的bankname.txt获取正确的音效名以替换(或新增)任意 .wav 文件,然后在Fmod Bank Tools.exe 中点击 Rebuild(重新构建)。如果遇到报错点击 ok 直到它完成。
  6. 进入游戏测试。 (记住这主要是用于替换而不是新增,你可以通过Fmod Studio来新增更多功能).

注意:因为这种方式替换了bank文件,所以你不能启用多个音效替换mod!

为Noita创建自定义音频

Noita 使用FMOD Studio 作为自己的音效引擎, (使用版本 2.01.05). 基本原理是这些由音效构成的Fmod "bank" 文件,且每个音效都附加了单独的事件。这些事件在XML/Lua中被引用以播放对应的音效。

从以下两个目录开始:

  • Noita/tools_modding/noita-fmod-project/
  • Noita/mods/example/

安装

  1. 确保Noita本体目录(tools_modding)下有 noita-fmod-project 文件夹
  2. 从 FMOD 官网安装FMOD Studio (version 2.01.05)(需要注册登录才能下载).

FMOD

  1. 在 Fmod Studio中打开 noita-mods.fspro ,你将会看到一个包含create示例事件的snd_mod文件夹。在Noita中有多种不同的事件,但现在请记住createloop是最常见的。
  2. 通过点击处于snd_modcreate事件你将会看到一个处于异步模式(Async 选中这段音轨即可查看)具有音调自动随机化、Distance参数、能在游戏中产生如音量衰减效果的lowpass参数的worm_attack_bite_01示例音频
  3. 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 then Mixer, where you can move your sounds into their respective groups, such as game_sfx which houses snd_mod/create, this group is what you'll likely use the most.(译者注:这条不想翻译,这个不重要😣,因为这个步骤你不会用fmod的话很难复现出来, 我建议你直接替换示例中的音频)
  4. 决定好要在事件中制作音效你就想要把它添加到bank中,这样Noita才能将其作为游戏资源使用它。需要右键这个事件选择Assign To Bank中的目标bank(最好不是Master Bank)
  5. 在此之后你需要通过点击File选项下的Build来进行构建。
  6. 至此并没有结束,Noita仍然不知道如何访问Bnak中的事件,因此你需要在File选项下使用Export GUIDs来生成一份映射表。这是你需要在init.lua中加载的内容,这样Noita就有了bank音频的引用。

Noita

  1. noita-fmod-project/Build 复制 GUIDs.txt 到你的mod文件夹.
  2. Go into noita-fmod-project/Build/Desktop and copy and paste the bankname.bank file (忽略 Master Bank) you created in FMOD into your mod's directory.
  3. noita-fmod-project/Build/Desktop你在Fmod中生成的bankname.bank文件复制到你的mod文件夹。
  4. 在你mod的 init.lua 文件中添加 (使用你自己的 GUIDs.txt 文件路径)
ModRegisterAudioEventMappings("mods/modname/directory/to/GUIDs.txt")
  1. 在你想添加音效的xml文件中根据你在Fmod中创建的事件添加对应的AudioComponentAudioLoopComponent

一个投射物的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>
  1. 进入游戏体验吧!

默认音效列表

参见: Mod: 声音列表 (暂不完整)