Steamworks 文獻庫
Steam 螢幕擷圖

總覽

螢幕擷圖是由內嵌介面自動提供給所有 Steam 遊戲的,而 Steamworks API 也提供了一組可與之互動的 API。Steamworks 螢幕擷圖 API 可讓您擷取螢幕畫面,並儲存至使用者本機的螢幕擷圖收藏庫,當中也包含如遊戲中的地名、標記的使用者等中繼資料。
備註:必須開啟遊戲的 Steam 內嵌介面才可使用螢幕擷圖系統。

按下由 Steam 控制的快捷鍵(預設是 F12),即可擷取螢幕畫面。

使用者可自行更改螢幕擷圖的快捷鍵,並在任何 Steam 遊戲中都會生效。前往設定 -> 遊戲即可更改。

screenshot_hotkey.png

螢幕擷圖上傳工具

結束遊戲後,螢幕擷圖上傳工具即會自動開啟之前遊玩時所有擷取的畫面。若要關閉,可前往設定 -> 雲端,並取消選取「如果有抓取螢幕擷圖,在關閉遊戲後開啟螢幕擷圖上傳工具」。

screenshot_uploader.png

隨時皆可使用螢幕擷圖上傳工具。前往顯示 -> 螢幕擷圖,或點選 Steam 內嵌介面中的螢幕擷圖即可開啟螢幕擷圖上傳工具。

上傳了任何螢幕擷圖後,便可顯示於社群個人檔案,或遊戲的社群中心之中。

Steam 螢幕擷圖 API

Steamworks SDK 提供了 ISteamScreenshots,讓您能使用進階功能、將 Steam 螢幕擷圖系統整合至您的遊戲中,並將最好的體驗帶給顧客。

預設會由 Steam 來擷取所有螢幕圖像,但您也可使用 ISteamScreenshots::HookScreenshots 掛鉤(Hook)並控制螢幕擷圖功能。如果您要掛鉤螢幕擷圖,使用者按下螢幕擷圖快捷鍵時,您便會收到 ScreenshotRequested_t 回呼。您可使用 ISteamScreenshots::IsScreenshotsHooked 來確認是否有掛鉤到螢幕擷圖。

無論是否有掛鉤到,每當螢幕擷圖成功儲存至磁碟中,您都會收到 ScreenshotReady_t 回呼。收到回呼後,您應該確認結果。如果成功,便可使用 ScreenshotHandle 來設置以下標籤:

如果您希望使用自己的按鈕擷取螢幕,或是在遊戲中某個時刻自動擷取,例如遊戲結束時,您可將 ISteamScreenshots::TriggerScreenshot 寫入程式碼中,或使用 ISteamScreenshots::WriteScreenshot 寫出 RGB 位元組,另外也可以用 ISteamScreenshots::AddScreenshotToLibrary/ISteamScreenshots::AddVRScreenshotToLibrary 在磁碟中新增一個檔案。