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