yumia fdata tools

作者 eArmada8·版本 v1.1.3·更新於 2026-02-27

這是一個小型腳本合集,用於爲《優米雅的鍊金工房》編寫自定義fdata文件,並將其注入到root.rdb/root.rdx中,以替換遊戲中的現有文件。此外還提供了輔助工具,用於查找《優米雅的鍊金工房》中模型(g1m文件)所使用的紋理(g1t文件)。其他使用fdata/rdb系統的平臺/光榮特庫摩遊戲未經測試,效果因人而異。

模組介紹 作者原文

優米雅的鍊金工房 fdata 模組工具集與ktid解碼器

這是一個小型腳本合集,用於爲《優米雅的鍊金工房》編寫自定義fdata文件,並將其注入到root.rdb/root.rdx中,以替換遊戲中的現有文件。此外還提供了輔助工具,用於查找《優米雅的鍊金工房》中模型(g1m文件)所使用的紋理(g1t文件)。其他使用fdata/rdb系統的平臺/光榮特庫摩遊戲未經測試,效果因人而異。

致謝

本工具編寫時參考了github.com/DeathChaos25的fdata_dump以及github.com/eterniti/eternity_common的代碼,因此受益於這些工具開發過程中所進行的廣泛研究(這些成果均爲免費公開)。我對此深表感激,謝謝。我還要感謝jmedia7提供的關於光榮特庫摩遊戲及fdata/rdb文件模組的信息,以及github.com/mlleemiles回答了我關於fdata文件模組的一些問題。我還要感謝AlexXsWx和eterniti,他們的工具讓我深入理解了kidsobjdb格式;感謝woofhat提供的關於使用CharacterEditor.kidssingletondb.kidsobjdb查找角色模型紋理的信息。

需求:

  • 需要Python 3.9或更高版本才能運行此腳本。Windows用戶可通過微軟商店免費獲取。Linux用戶請諮詢您的發行版。

FData 工具 - 使用方法

*所有腳本都需要yumia_mod_lib.py位於同一文件夾中才能運行。*

yumia_mod_find_metadata.py

爲了替換遊戲中的文件,需要該文件的fdata和rdb元數據。在`/Atelier Yumia/Motor/`文件夾中運行此腳本,並輸入您要替換的文件的8位十六進制代碼。例如,如果您想修改優米雅的服裝`0xA34C62FC.g1m`,則輸入`A34C62FC`(不帶`0x`),它將輸出`a34c62fc.file_metadata.json`。(如果您輸入了0x,腳本也能接受。)

yumia_mod_write_yumiamod_json.py

當您準備好所有模組文件和file_metadata.json文件後,將它們放入文件夾並運行此腳本。腳本首先會要求您爲新.fdata文件輸入一個8位十六進制代碼 - 例如輸入`88888888`來創建一個`0x88888888.fdata`文件。(如果您輸入了0x,腳本也能接受。)請務必選擇一個尚未使用的文件名!

然後,它會要求您爲每個對應file_metadata.json文件的8位十六進制代碼輸入文件名。例如,接上例,它會要求您輸入`0xA34C62FC`對應的文件名,即`0xA34C62FC.g1m`。您也可以直接將`0xA34C62FC.g1m`拖入窗口並按回車。腳本會移除路徑,僅保留文件名。

完成後,它將輸出您的.yumiamod.json文件,在此例中爲`0x88888888.yumiamod.json`。

yumia_mod_write_fdata_files.py

此腳本將讀取模組文件和.yumiamod.json文件,並寫入一個包含.yumiamod.json中所列文件的.fdata文件。接上例,將`0x88888888.yumiamod.json`和`0xA34C62FC.g1m`放在腳本所在文件夾中並運行。它將輸出您的`0x88888888.fdata`文件。

*注意:* 分享模組時,請考慮將您的.yumiamod.json文件一併包含在內。這將允許最終用戶使用`yumia_mod_insert_into_rdb.py`將多個模組合並在一起。

yumia_mod_insert_into_rdb.py

此腳本將讀取所有.yumiamod.json文件及其對應的.fdata文件,並將它們插入到`root.rdb`和`root.rdx`中。此腳本旨在`/Atelier Yumia/Motor/`文件夾內運行。將所有.yumiamod.json和.fdata文件與此腳本一起放入`/Atelier Yumia/Motor/`文件夾並運行。如果備份不存在,它將創建備份(`root.rdb.original`和`root.rdx.original`)。腳本始終從原始備份開始操作,因此重複運行時不會重複插入重複的模組。運行此腳本後,`root.rdb`和`root.rdx`將被更新,模組即被注入遊戲。

此外,腳本會寫入已修改的`root.rdb`和`root.rdx`文件的哈希簽名,以便在後續執行中檢測遊戲更新。如果遊戲更新,腳本會檢測到文件與簽名不符,並提示用戶用新的更新版本替換`root.rdb.original`和`root.rdx.original`。

yumia_mod_extract_files_from_fdata.py

此腳本將解包.fdata文件,提取其包含的組件文件。用於解包由yumia_mod_write_fdata_files.py創建的文件。此腳本也可以解包.file文件(通常位於《優米雅的鍊金工房》的/data文件夾中)。

yumia_mod_update_mod_metadata.py

在/Atelier Yumia/Motor文件夾中運行;此腳本將查找所有.yumiamod.json文件(及其對應的.fdata文件),並用基礎遊戲中的元數據替換所有包含的元數據。旨在用於修復損壞的模組,或可能將模組從一個平臺移植到另一個平臺。運行需要yumia_mod_lib.py和yumia_mod_find_metadata.py。

KTID 工具 - 使用方法

KTID工具旨在用於查找並隨後從`CharacterEditor.kidssingletondb.kidsobjdb`中挖掘數據,該文件是《優米雅的鍊金工房》使用的,也常見於其他使用.ktid文件將g1m角色模型指向g1t紋理包的光榮特庫摩遊戲。有兩種策略可以找到此文件。兩者都從識別角色模型(.g1m)開始:先提取所有.g1m文件,按大小篩選(因爲角色模型通常比其他物體大),然後尋找角色模型(可以使用我的g1m導出器,但Project G1M在此應用中速度更快)。

在關聯的KTID和G1M文件保存在同一個fdata文件中的遊戲裏(例如《優米雅的鍊金工房》),KTID文件可以直接提取並使用(`yumia_find_kidsobjdb_using_ktid.py`)。如果它們不在同一個.fdata文件中,則使用較慢的基於.g1m哈希的方法(`yumia_find_kidsobjdb_using_g1mhash.py`)。

要使用搜索工具,請使用qrdbtool或fdata_dump將所有.kidsobjdb文件提取到一個文件夾中。KT遊戲中有大量此類文件,因此我建議只提取大於100KB左右的文件,這將大幅減少需要搜索的文件數量。qrdbtool支持按大小排序文件,從而大幅縮短提取時間。

yumia_find_kidsobjdb_using_ktid.py

此腳本將讀取一個.ktid文件,並將其存儲的哈希值與文件夾中的每個.kidsobjdb文件進行比對,嘗試找到匹配的文件。如果從角色模型的.ktid文件開始,即使沒有文件名可用,只要該文件與腳本和.ktid文件在同一文件夾中,它也應該能找到`CharacterEditor.kidssingletondb.kidsobjdb`。此方法速度非常快,因爲腳本只讀取數據庫的索引而不讀取內容。它也非常可靠,因爲只有當整個.ktid與數據庫正確哈希匹配時,它纔會標記爲匹配。

yumia_find_kidsobjdb_using_g1mhash.py

此腳本將提示用戶輸入.g1m文件的8位十六進制哈希值(例如優米雅默認服裝`0xA34C62FC.g1m`的`A34C62FC`),並將該哈希值與文件夾中的每個.kidsobjdb文件進行比對,嘗試找到匹配的文件。如果從角色模型.g1m的哈希開始,即使沒有文件名可用,只要該文件與腳本在同一文件夾中,它也應該能找到`CharacterEditor.kidssingletondb.kidsobjdb`。此方法速度較慢,因爲腳本必須完整解析數據庫。它的可靠性在於所有匹配都是真實匹配,但它可能找到多個引用了該模型的數據庫 - 請注意,`CharacterEditor.kidssingletondb.kidsobjdb`相當大(例如在《優米雅的鍊金工房》中爲806 KB),因此匹配的小文件不太可能是`CharacterEditor.kidssingletondb.kidsobjdb`。

一旦通過上述任一腳本識別出`CharacterEditor.kidssingletondb.kidsobjdb`,要麼刪除所有其他.kidsobjdb文件,要麼將正確的文件移動到新文件夾中,與yumia_decode_kidsobjdb.py一起使用。我還建議將該文件重命名爲`CharacterEditor.kidssingletondb.kidsobjdb`;例如,如果腳本識別出`0xb290631c.kidsobjdb`,則將`0xb290631c.kidsobjdb`重命名爲`CharacterEditor.kidssingletondb.kidsobjdb`,並刪除所有其他.kidsobjdb文件(將它們 …

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
  3. 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
  4. 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。

不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。

檔案與校驗

檔案名稱
yumia_fdata_tools.zip
檔案大小
15.3 MiB