Steamworks 文獻庫
動作資訊清單檔案

概覽

除了使用 Steam 工作坊來託管配置檔案以外,也可以選擇透過遊戲 Depot 直接將配置與遊戲結合。 將配置與遊戲 Depot 結合能帶來數種好處:
  • 可以將官方配置導入 Perforce 或其它版本控制工具
  • 更容易管理遊戲在不同分支中,或在公共與私人 AppID 中的配置
  • 更新是原子性(Atomic)的,無須透過 Steamworks 中的兩個發佈步驟完成

格式

動作資訊清單檔案是遊戲內動作檔案的延伸,當中包含額外的區段,會根據類型列出官方配置:
"Action Manifest" { "configurations" { } "actions" { } "localization" { } }
若希望了解有關動作和在地化區段的資訊,請見遊戲內動作檔案一文。

配置列表

在控制器配置區段中,配置會先按照控制器類型排列,接著為載入優先順序。 「path」值是根據動作資訊清單檔案在磁碟上的相對位置所列出的。
"Action Manifest" { "configurations" { "controller_xboxone" { "0" { "path" "xbox_controller.vdf" } } "controller_steamcontroller_gordon" { "0" { "path" "steam_controller.vdf" } "1" { "path" "steam_controller_motion_controls.vdf" } } } "actions" { } "localization" { } }

支援的控制器類型字串:

Steam Deck 控制器controller_neptune
Steam 控制器controller_steamcontroller_gordon
Xbox 360controller_xbox360
Xbox Onecontroller_xboxone
Xbox Elite 控制器controller_xboxelite
PlayStation 4 控制器controller_ps4
PlayStation 5 控制器controller_ps5
Nintendo Switch Pro 控制器controller_switch_pro
通用手把controller_generic

建立動作資訊清單檔案

動作資訊清單檔案主要有兩種建立方式,一種是從空白檔案開始,另一種是使用現有的 IGA 檔案。

從遊戲內動作(IGA)檔案開始

第 1 步 - 設定 Steam 輸入的開發者模式

在編輯動作資訊清單檔案之前,我們需要啟用 Steam 輸入的開發者模式,才能以開發者的身分匯出配置,以及在編輯動作清單的過程中出錯時,能收到錯誤訊息。

1) 進入 Steam Big Picture 模式 -> 設定 -> 系統,並開啟 Steam 的開發者模式

export_prestep_1.png

2) 前往開發者區塊,然後啟用「Steam 輸入配置開發者模式」

export_prestep_2.png

第 2 步 - 儲存配置

如果您已經有 IGA 檔案,前往控制器配置畫面即可將目前的配置儲存下來。

1) 點選齒輪圖示

export_step_1.png

2) 點選「匯出配置」

export_step_2.png

3) 為您的遊戲選擇標題和說明,然後匯出配置
提醒:您需要仔細檢查動作資訊清單檔案,是否有為您遊戲所有支援的語言建立在地化索引碼。

第 3 步 - 找到配置

接下來,執行以下 Steam 網址來將配置傾印至作業系統特定的文件資料夾中,例如 Windows 的「我的文件」。 網址:

Windows 命令列
start steam://dumpcontrollerconfig?appid=X
Linux 命令列
xdg-open steam://dumpcontrollerconfig?appid=X

將配置和既有 IGA 檔案複製到遊戲資料夾中選定的位置。

第 4 步 - 將 IGA 檔轉換為動作資訊清單檔

若要將 IGA 檔轉換為動作資訊清單,需編輯檔案加入「configuration」(配置)區段,當中包含剛剛匯出的控制器配置列表。 出自 Steamworks SDK 的範例如下:
"configurations" { "controller_xboxone" { "0" { "path" "xbox_controller.vdf" } } "controller_steamcontroller_gordon" { "0" { "path" "steam_controller.vdf" } } }

第 5 步 - 進行 Steamworks 設定

要在合作夥伴網站進行 Steamworks 設定,請前往「Steam 輸入」設定。 接下來在下拉選單中選擇「自訂配置(隨同遊戲)」,然後輸入動作資訊清單所在的路徑:

gamebundledconfigdropdown.PNG

為使用動作資訊清單檔案的遊戲進行偵錯

透過 Steam 執行遊戲時,會自動從遊戲 Depot 抽取動作資訊清單檔案。 若是透過 IDE 執行並已安裝遊戲,Steam 也會使用 Steam Depot 中的動作資訊清單檔案。 然而,若在遊戲未安裝於 Steam 的情況下執行,或需要在本機進行更改,則可以使用 SetInputActionManifestPath API 呼叫來覆寫動作資訊清單路徑。 當次的 Steam 工作階段結束前都會記得覆寫設定。 以下為在 Steamworks SDK 中的使用範例:
char rgchCWD[1024]; if ( !_getcwd( rgchCWD, sizeof( rgchCWD ) ) ) { strcpy( rgchCWD, "." ); } char rgchFullPath[1024]; #if defined(_WIN32) _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s\\%s", rgchCWD, "steam_input_manifest.vdf" ); #elif defined(OSX) _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/steamworksexample.app/Contents/Resources/%s", rgchCWD, "steam_input_manifest.vdf" ); #else _snprintf( rgchFullPath, sizeof( rgchFullPath ), "%s/%s", rgchCWD, "steam_input_manifest.vdf" ); #endif SteamInput()->SetInputActionManifestFilePath( rgchFullPath );