はじめに
Unityでアプリを制作して、いざリリースしようと思った時にスクリーンショットが複数用意するのに苦労すると思います。
またアプリ制作時にちょっとスクショの画像を他人と共有したいときが多々あります。そこで今回はUnity Editor上でスクリーンショットを撮る方法を紹介したいと思います。
環境
- Unity 2020.1.9f1
- Windows 10 Pro
実装
スクリプトを用意
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class ScreenshotTools
{
[MenuItem("Tools/Screenshot %F3", false)]
public static void CaptureScreenshot()
{
string productName = Application.productName;
if (string.IsNullOrEmpty(productName))
{
productName = "Unity";
}
string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), productName);
DateTime now = DateTime.Now;
string fileName = string.Format("{0}_{1}x{2}_{3}{4:D2}{5:D2}{6:D2}{7:D2}{8:D2}.png", productName, Screen.width, Screen.height, now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second);
string path = Path.Combine(directory, fileName);
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
ScreenCapture.CaptureScreenshot(path);
Debug.LogFormat("Screenshot Save : {0}", path);
}
}
スクリプトをEditorフォルダに格納
スクリプトをEditorフォルダに格納します。Editorフォルダに格納しないとアプリビルド時にエラーになります。
使い方
使い方は2通りあります。
メニューの[Tools]→[Screenshot]を押す
メニューにTools/Screenshotをプログラムから追加しています。
ショートカットキー[Ctrt + F3]を押す
ショートカットキーCtrl + F3にスクリーンショットのプログラムを割り当てています。
結果
デスクトップにProduct Nameに設定したフォルダが作成され
ProuctNameとサイズと時間のファイル名で画像が保存されています。
最後に
Gameの画面サイズでスクリーンショットが撮影できるので、App Store Connectに登録するスクリーンショットを簡単に複数つくることができます。
というか、なぜデフォルトでUnityにこの機能がないんだ?
コメント