【Unity】Editor上でスクリーンショットを撮る

ゲーム画面のスクショを撮りたいけど、Unity Recoderは使いにくいしな~

Unityでスクリーンショットを撮ろうと思うと、意外とややこしいです。
そんなわけで、Gameビューをpng画像で保存する方法をご紹介します。

Editor上でしか動きませんが、ゲームを実行していなくても動作します。

導入

手順1:Scriptの入手

ここからScriptをダウンロードします。
右上の「Raw」から保存できます。

手順2:Unityにインポート

csファイルをそのままUnityのProjectビューに突っ込みます。場所はどこでもOKです。

使い方

スクリーンショットを撮る

Unity上部のメニューバーより、Tools -> Capture ScreenShot で、スクリーンショットを作成して保存します。

保存場所

標準では、プロジェクトのルート(Assetsフォルダと同階層)のScreenShotフォルダの中に保存されています。

別のフォルダに保存したい場合は、Scriptの「Path」の部分を別の名前に変更してください。

画像ファイル名は、日付と秒単位の時刻でファイル名が生成されるため、同名のファイルになって上書きされる心配はありません。

解像度

スクリーンショットの解像度は、Gameビューで設定した解像度と同じになります。

注意

Editor上でしか動作しません。その代わり、ゲームが実行されていなくても動作するので、カメラを移動させてお好みのアングルで撮ることもできます。

また、MainCameraのタグがついたカメラが無いと、なにも撮影されず真っ黒な画像になってしまいます。

うまく撮影されない時は、ちゃんとMain Cameraが存在しているか確認してみてください。

余談

Unity2019.1 以上なら、公式機能であるShortcut Managerを使うことで、独自のショートカットからスクリーンショットを呼び出せます。

手順1:Shortcut Managerを呼び出す

メニューバーより、Editor -> Shotcuts… を選択します

手順2:ショートカットを設定する

All Unity Commands にて、右の検索欄から「ScreenShot」などと入力して絞り込みます。

コマンドが表示されたら、右の Shortcut をダブルクリックして、任意のショートカットを設定しましょう。

上の画像の例だと、CtrlとF12キーを同時押しすることで、スクリーンショットが保存されるようになります。

参考記事

Unityで開発中画面のスクリーンショットを撮る

【C#】指定したパスにディレクトリが存在しない場合にのみディレクトリを作成する汎用クラス

 この記事をシェアする

ABOUTこの記事をかいた人

インディーゲーム開発者。30歳目前。 学生時代、ツクールVXにハマりすぎて不登校に。 専門学校に通い、ゲーム会社に就職するも花開かず退職。 以後、個人でゲームを作りながら生きていく道を探している。 SEKIROとオーバーウォッチが大好きで、「プレイした者の心に爪痕を残すゲームを作る」のが夢。