Steam

Steam

307 ratings
Steamスクリーンショット機能非対応ゲームのスクリーンショットを撮影してアップロードする
By crow
RPGツクール製など、Steamオーバーレイの機能を利用してもスクリーンショットが撮れないゲームが結構あります。
そのゲームのスクリーンショットを撮る方法、アップロードする方法は色々あるものの、このガイドではできるだけツールを使っての簡略化、及びSteamクライアントを使ってアップロードします。
2018年1月時点で動作中。
 
Rate  
Favorite
Favorited
Unfavorite
ShereXの導入
導入
スクリーンショット撮影&管理ツールのShareXを導入します。
常駐で機能し、Steamスクリーンショット機能に近い動作をする優れものです。

Steam版は以下から。
http://store.steampowered.com/app/400040/ShareX/

基本的にSteam経由でShareXを起動すると、ShareXとスクリーンショット撮りたいゲームの多重起動になります。これはカードドロップなどに影響があります。
それを避けたい人用のスタンドアロン版が以下からダウンロードできます。
https://getsharex.com/

撮影
とても高機能なソフトウェアですが、ここで使うのは2つ。
PrintScreenキー:画面全体を撮影。フルスクリーンなゲーム向け。
Altキー+PrintScreenキー:フォーカスが当たっている画面を撮影。ウィンドウ動作なゲーム向け。

撮影したスクリーンショットはCaptureメニューの画像一覧から、
右クリック > Open > Folder で保存先を確認することができます。
 
SteaScreeの導入
導入

これは画像をSteamのスクリーンショットフォルダにそれらしい名前で配置してくれて、サムネイル画像まで作ってくれるツールです。
更にscreenshots.vdfという、今まで撮ったスクリーンショットの定義ファイル(後述)も自動で編集してくれる機能を備えていますが、特定環境下でバグがあるため今回はスクリーンショットの配置機能のみ使います。

以下からダウンロードができます。
https://steascree.download/

設定
  • Steam userdata directoryにSteamのインストール先フォルダを設定します。
    これは一度設定したら保存されます。
    例:D:\Program Files (x86)\Steam
  • Game IDにアップロードしたいゲームのIDを入力します。
    これはストアページのゲームのURLに入っている数字です。
    例えば、以下のゆめにっきなら650700
    http://store.steampowered.com/app/650700/Yume_Nikki/
  • Add screenshots to queueボタンを押下し、スクリーンショットを追加します。
  • Copy Screenshots to game directoryボタンで、スクリーンショットがコピーされ、かつサムネイル画像が作られます。
  • Prepare screenshots for uploadingボタンは押さないでください。

Steamクライアントからアップロード
クライアントからスクリーンショットの認識
スクリーンショットフォルダに配置された画像は、まずSteamクライアントから認識される必要があります。
対象のゲームを起動・終了したり、Steamクライアントを再起動することで、スクリーンショットが認識されます。
されない場合は暫く待ってみてください。

アップロードエラー回避
そのままアップロードしようとするとエラーとなります。
これはSteamクライアントが、VR用の画像を一緒にアップロードしようとするためです。
以下の手順でこれを回避します。

  • Steamクライアントを終了。
  • 以下に格納されている、screenshots.vdfをテキストエディタで開く。
    (Steamのインストールフォルダ)\userdata\[ユーザーID]\760\
    例:D:\Program Files (x86)\Steam\userdata\0000000\760
  • ゲームIDで検索。
  • 当該スクリーンショットのvrfilenameの項目を""(空文字)にする。

  • Steamクライアントを起動。

アップロード
これでやっとアップロードが可能になります。


誰かもっと簡単な方法知ってたら教えてください。
< >
12 Comments
CaptainRealDeal Jun 26 @ 11:38pm 
日文字母
No Money No Honey Sep 27, 2018 @ 6:25am 
SteaScree とうまいこと併用できるようなの自分で書けねーかな、といろいろ参考になるものを探していたら、ずばり要求を満たすソフトを発見してしまいました。
ファイル名からタイムスタンプを変更するソフトウェア [kiwamaru.hatenablog.com]
元は python ですが、アプリケーション化されて誰にでも手軽に使えるようになってるのが最高ですね。D&D するだけ! 楽ちん!
bravehearts623 Sep 26, 2018 @ 3:30pm 
Screenshots.vdf に記録されるのは、その JPEG ファイルを初めて読み込んだときのファイル更新日時(作成日時ではなく mtime = 更新日時)なので、SteaScree で転送後、Steam クライアントを起動する前にオリジナルのファイル(残っていれば)から取得してそこを書き換えればいいと思います。
bravehearts623 Sep 26, 2018 @ 3:23pm 
こちらのスクリプトでは Python から VDF を操作して '_vr.jpg' を削除しています。
https://steamcommunity.com/sharedfiles/filedetails/?id=1431886395
前述のタイムスタンプ書き換え部分と合わせれば、一連の作業をワンクリックで済ませられるんじゃないかと思います。
No Money No Honey Sep 26, 2018 @ 3:21pm 
あー、そうか。SteaScree が vdf に時間を書き込んでいるわけではなく、転送されたファイルを vdf が勝手に読み込んでるのか。そりゃそうだ。逆に言えば、ファイルのタイムスタンプだけ書き換えればいいのか。ご教示ありがとうございました。
bravehearts623 Sep 26, 2018 @ 3:02pm 
スクショ撮影日時が転送した時間になってしまう問題の解決方法、自分は SteaScree を使っていないのでまんまこれで行けるという方法ではないですが、
python を使ってこういう風にしています↓
https://steamcommunity.com/sharedfiles/filedetails/?id=1425901074
スクリプト後半部分でオリジナルpngのタイムスタンプを変換したjpgにコピーして書き換えています。
No Money No Honey Sep 25, 2018 @ 11:49am 
この方法でせっせとスクショを晒していて気づいたのですが、スクショの撮影日時が SteaScree で転送した時刻になりますね。複数枚を一気に転送すると、それら全てが同じ時間に撮影されたかのように steam では見えてしまう。
原因は vdf ファイル内の creation の項目を SteaScree が全て転送した時間で記述するからです。
creation は SteaScree が転送した時間を unix time で記述しているので、スクショの名前などから正しい撮影時刻を割り出し、 UNIX タイムスタンプ変換ツール [url-c.com]なんかで unix time に変換してから creation 部分を書き換えることで、steam 側でも正しい撮影日時が見えるようになります。
crow  [author] Jan 25, 2018 @ 6:25am 
コメントありがとうございます。
そうなんですよね、そこが一番面倒くさい。SteaScreeがそこら辺カバーしてくれれば嬉しいんですけどね。
SteaScreeのIssuesにチケット立てるか、自前でスクリプト作るかしてみます。
bravehearts623 Jan 24, 2018 @ 1:36pm 
私もゲーム側の機能で保存したスクショを使いたくて試行錯誤したんことがあったんですが、スクショを認識させる→ vrfilename の値を空文字にする→起動の手順が面倒なので、
ゲーム ID のフォルダ内に JPEG ファイルが作られる度に %filename%_vr.jpg という名前でシンボリックリンクを作るスクリプトを動かしてました。
アップロード後に削除しても問題なさそうなので Steam 終了時に不要な _vr.jpg の削除と VDF の掃除も行います。
オーバーレイが使えないゲームではスクショ認識させるためにどうしても再起動が必要ですが(手順を飛ばして VDF を直接編集すると非 Steam ゲームのデータがスクショライブラリーから消えることがある)、ダミーの
_vr.jpg を作っておくことで再起動一回で済むようになります。
akanbo(JP) Jan 24, 2018 @ 6:05am 
ありゃ 最近仕組み変わったんかしら