MENU

【Unity】Gameビューのスクリーンショットを撮る方法

unity-screenshot

Photoshopで作ったレイアウトとUnityで作成したものとを正確に見比べるように、原寸のGameビューのスクリーンショットを撮るEditorスクリプトを使ってみました。

同サイズの画像比較をしないと、システムフォント周りの再現度を上げるのは、なかなか難しいです。

スクリーンショット用Editorスクリプト

f:id:min0124:20171108004942p:plain

f:id:min0124:20171108004410p:plain

参考リンクのCaptureScreenshotFromEditor.csがベースです。

Ctrl + Shift + F12で保存。

Assets直下に画像を保存したくなかったので、ダイアログを出して保存先を指定するように一部変更しています。

using UnityEditor;
using UnityEngine;

public class CaptureScreenshotFromEditor : Editor {
    [MenuItem( "Edit/CaptureScreenshot #�2" )]
    private static void CaptureScreenshot() {
        string path = EditorUtility.SaveFilePanel("Save Screenshot", Application.dataPath, System.DateTime.Now.ToString( "yyyyMMdd-HHmmss" ), "png");
        Application.CaptureScreenshot( path );
        var assembly = typeof( UnityEditor.EditorWindow ).Assembly;
        var type = assembly.GetType( "UnityEditor.GameView" );
        var gameview = EditorWindow.GetWindow( type );
        gameview.Repaint();
        Debug.Log( "ScreenShot: " + path );
    }
}

参考

Unityエディタ上からGameビューのスクリーンショットを撮るEditor拡張 - Qiita

Unityでスクリーンショットを保存する | 生存日記