Warhammer 40,000: Space Marine 2 - Mod Tools 模組製作文件 《WIP》

本篇文章出處自 https://store.steampowered.com/app/2183900/Warhammer_40000_Space_Marine_2/
軟體版本與本翻譯文件可能會有落差,本翻譯文件僅供參考。
未經授權,請勿任意轉載、改作或商業使用。
  • 簡介(Intro)
  • 安裝(Installation)
    • 安裝模組編輯器(Install Mod Editor)
    • 安裝額外工具(Install Extra Tools)
  • 啟動(Launch)
  • 介面(Interface)
  • 快速開始:你的第一個模組(Quick Start: Your First Mod)
  • 進階階段:學習模組製作概念(Next Level: Learning Modding Concepts)
  • 分享模組(Sharing Mods)
  • 使用 GitHub(Working with GitHub)
    • GitHub 安裝(GitHub Installation)
    • 建立儲存庫(Creating Repository)
    • 建立主分支(Creating Main Branch)
    • 建立模組分支(Creating Mod Branch)
    • 分支操作(Actions with Branches)
    • 升級分支(Upgrading Branch)
    • 重新基準化與解決檔案衝突(Rebasing Branch & Resolving File Conflicts)
  • 模組理論(Modding Theory)
  • 遊戲檔案類型(Game File Types)
    • CLS
    • PROP
    • SSO
    • RES
  • 檔案修改與生成(File Modification & Generation)
  • 繼承(Inheritance)
  • 快捷鍵(Hotkeys)
  • 更多資源(Additional sources)

Intro(簡介)

Space Marine 2 支援 PC 版本的模組。玩家可以使用我們的模組編輯器,為遊戲建立自訂內容。 本模組文件仍在持續更新中。請同時參考其他額外資訊來源。 請務必使用與你遊戲版本相同的模組編輯器版本。 不保證向下相容。

Installation(安裝)

Install Mod Editor(安裝模組編輯器)

將 Mod Editor 資料夾中的所有內容複製到<path_to_game>\client_pc\root
其中 <path_to_game> 是你本機 Warhammer 40,000 Space Marine 2 的完整安裝路徑。

從下列指定的 .pak 壓縮檔中,解壓縮 client 與 server 的原始檔案到:<path_to_game>\client_pc\root\mods_source\
若系統詢問是否覆蓋或跳過重複檔案,請依需求操作。
(!)注意:任何偏離此程序的做法,都可能導致資源(resource)生成失敗。

Client 端檔案位置:

<path_to_game>\client_pc\root\paks\client\default\default_other.pak

Server 端檔案位置:

<path_to_game>\server_pc\root\paks\server\default\default_other.pak

root 資料夾中預期應包含的內容如下:

Install Extra Tools(安裝額外工具)

模組工具(mod_tools)壓縮檔中也包含 Tools 資料夾,裡面有一些方便用來製作模組的工具。 若資料夾內提供使用說明(例如 Tutorials 子資料夾裡的 Model Converter Reference),請依說明操作。

若你需要更進階的遊戲崩潰回報功能,請將 Toolset\CrashReporter 資料夾中的所有檔案複製到: <path_to_game>\client_pc\root\bin\pc (如果系統詢問,請覆蓋原有檔案。)

在你進行除錯(debugging)時,只要遊戲發生崩潰,你將能獲得更多關於問題可能原因的資訊。 你可以利用這些資訊進行故障排除,或在 Discord 上的非官方 Modding Hub 尋求協助。

Launch(啟動)

模組編輯器的可執行檔名稱為 IntegrationStudio。 請透過以下路徑啟動它: <path_to_game>\client_pc\root\tools\ModEditor\IntegrationStudio.exe

若系統跳出提示,請允許此程式存取網路。

啟動後,請等待所有必要的來源(sources)載入完成; 進度條位於視窗左下角。

Interface(介面)

主要的編輯器視窗包含以下元素: 頂部選單:
  • File(檔案) – 與檔案相關的主要操作。 使用 File > Open file in project 來瀏覽所有可供編輯的專案原始檔案。 (!)務必只開啟 mods_source 資料夾內的檔案;開啟外部檔案可能導致各種問題,例如無法儲存變更。
  • Edit(編輯) – 基本編輯操作與編輯器偏好設定。
  • Window(視窗) – 開啟可用的編輯器分頁或在分頁之間切換。
  • Content Browser(內容瀏覽器) 顯示整個專案檔案的互動式樹狀列表。 你可以搜尋檔案、加上標籤、加入最愛等。 將滑鼠移到上方工具列按鈕上可以查看提示說明。
  • File editor(檔案編輯區) 顯示從 Content Browser 開啟的檔案設定。
  • Problems(問題面板) 互動式的目前問題紀錄清單。
  • Progress bar(進度條) 顯示 IntegrationStudio 當前正在執行的操作狀態。

Quick Start: Your First Mod(快速開始:你的第一個模組)

讓我們直接開始,改動遊戲中的某些內容吧:
1.按下 Alt + Shift + O 開啟檔案瀏覽器。

2.搜尋 pc marine titus authority,並雙擊 pc_marine_pve_story_titus_authority.cls 檔案。

提示: 看到檔名裡的 authority 嗎? 「Authority」代表目前的玩家(你); 而「Client」代表其他玩家。 對其他玩家而言,他們才是 Authority,而你是 Client。

這會開啟 Titus 角色的 CLS 檔案。 「Actor(角色/實體)」是一種遊戲物件,它擁有被指派的邏輯: 例如玩家、木桶等等。

每個 CLS 都包含一組屬性,用來定義該角色的行為邏輯。 例如 Geometry(幾何外觀) 屬性決定角色的外觀。 改變它會立即在遊戲中生效,因此我們會在第 3 步操作這個屬性。

3.在清單中找到 Geometry(幾何外觀)這個屬性(你可以使用清單頂部的搜尋欄更快找到)。 將其中的 Scale(縮放)數值由 1 改成 3。

提示:這表示它的數值已與預設值不同
(更精確地說,是與「父類別」的數值不同——這部分會在進階教學中說明)。

4. 按下 Ctrl + S 來儲存變更。

5. 在 CLS 檔案的分頁上按右鍵,選擇 Show in Explorer。
這會開啟目前檔案所在的資料夾。
如果這個方法無法使用,你也可以改用:
Copy Info > Copy Full Path
然後手動將路徑貼到檔案總管中。
記得刪除路徑最後的檔名, 因為我們要開啟的是「該檔案所在的資料夾」,而不是檔案本身。

6. 將下列兩個檔案複製到剪貼簿:
pc_marine_pve_story_titus_authority.cls
pc_marine_pve_story_titus_authority.cls.resource

7. 將剛才複製的檔案貼到 root\local 資料夾中,並維持原本的相對資料夾階層。
也就是說:複製自 root\mods_source\default_other\
之後的整個資料夾路徑,都要維持一致。
文件中的示例路徑為: <path_to_game>\client_pc\root\local\ssl\characters\player\marine\outfits\story_titus
你需要在 local 裡 手動建立缺少的資料夾,直到完整路徑都存在為止。

8. 就這樣!現在你可以啟動遊戲,享受 Titus 全新的外觀與感受了。
我們就不在這裡用截圖破壞你的體驗了。
看到「檔案已損毀(corrupted files)」的警告或MODS DETECTED(偵測到模組)」的標示時請不用擔心。
那代表魔法正在運作。

如果你在遊戲中沒有看到預期的效果,請嘗試以下檢查:

  • 確認遊戲畫面是否顯示「MODS DETECTED」標示。 如果沒有顯示,通常代表檔案沒有正確移動到 local 資料夾,請重新檢查上方的 第 7 步。
  • 如果遊戲發生當機,請確認你是否正確解壓了遊戲檔案到 mods_source 資料夾,詳見 Install Mod Editor 章節的指示。
    若這個步驟做錯,IntegrationStudio 可能會生成「無效的 .resource 檔」。
    你可以透過以下方式確認問題來源:
    刪除 pc_marine_pve_story_titus_authority.cls.resource 再啟動遊戲
    若遊戲能正常啟動而不再當機,就代表 .resource 是無效的。
    請重新按照正確步驟完整解壓,避免後續持續發生崩潰。
    雖然在本教學中 .resource 檔並非必須,
    但在你未來製作更進階的模組時,它們會變得非常重要。
  • 如果遊戲能正常啟動並顯示 MODS DETECTED,但 Titus 仍然維持原本大小, 請再次確認你是否修改到了正確的 CLS 檔。 有好幾個檔案名稱相似的角色,例如 Deathwatch Titus 是完全不同的角色,修改那個檔案並不會影響我們在本教學中編輯的這個 Titus。

如果你在遊戲裡看不到預期的結果,請試試以下做法:

  • 檢查遊戲是否顯示 MODS DETECTED 標籤。 如果沒有顯示,通常代表檔案沒有正確移到 local 資料夾裡,請回去重新檢查上面第 7 步。
  • 如果遊戲當機,請確認你是否有依照「Install Mod Editor」章節的說明,把遊戲檔案正確解包到 mods_source 資料夾。 若這一步做錯,IntegrationStudio 可能會產生無效的 .resource 檔。你可以用這個方式確認:刪除 pc_marine_pve_story_titus_authority.cls.resource 檔後再啟動遊戲,如果遊戲就能正常啟動、不再當機,通常就表示問題出在 .resource 檔。 請務必從頭重新解包一次,以避免後續繼續當機。雖然在這個教學中 .resource 檔不是必需的,但在你之後做更進階的 mod 時,它會非常關鍵。
  • 如果遊戲能正常啟動,也有顯示 MODS DETECTED 標籤,但 Titus 的體型仍然沒變,請再確認你修改的是正確的 CLS 檔。 因為有好幾個名字很像的檔案,例如 Deathwatch Titus 是不同的 actor,所以你改那個檔並不會影響我們這裡正在編輯的那一個。

下一階段:學習 Modding 概念

在這個教學中,你會學到像是「繼承(inheritance)」與「藍圖(blueprints)」這類系統的基礎概念;它們是你在《Space Marine 2》裡製作進階模組(advanced mods)時必備的。 到最後,你會完成一個模組:讓遊戲中的角色每秒都會改變一次大小。為了把重點放在新的理論上,我們會先假設你已經完成了 Quick Start 教學。

  1. 打開 pc_marine_base_authority.cls 檔案。這個檔案是遊戲中所有陸戰隊角色(marine characters)的父類別(parent class)。

    理論:你可以在「繼承(Inheritance)」章節中,進一步了解這個檔案。

  2. 找到 Prop Blueprints 這個屬性,點擊 +,選擇 Blueprint Client,然後點 Apply。
    請替你的 blueprint 取一個能反映用途的名稱,在這個教學中,我們會把它命名為 DynamicScale.

    理論: Blueprints 是一種「邏輯腳本」,讓你不用寫原始碼,也能定義更進階的行為。你可以把它想成視覺化的流程圖或節點圖(graph):它們會對事件做出反應、執行邏輯,並更新……

  3. 展開你剛建立的 blueprint 項目,你會看到 Nodes 和 Variables 兩個區塊。
    Nodes 是一個服務用的區塊,這次你不需要用到;而 Variables 則是你要加入 blueprint 會用到的各種數值(變數)的地方。就像……
    就像你剛剛新增 blueprint 那樣,再新增一個 Bool(布林) 變數,命名為 IsBig。

留言

這個網誌中的熱門文章