エディタ拡張

【Unity】ショートカット一発!ゲームビューのスクリーンショットを撮る方法

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でスクリーンショットを保存する | 生存日記

ABOUT ME
すいみん
名前:すいみん 東京在住のデザイナー DTP・映像・3D・プログラミングまで、 なんでも自分で試して作ることが好きです。 ブログはその備忘録です。