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: 聲音列表 (暫不完整)