2 minutes
[Unity] 申請用のスクリーンショットをエディタで作る
お世話になっております。
しゃまとんです。
iOS/Androidのアプリ申請時に何かしらのスクリーンショットが必要なわけで、 ことだまっぷのときにも色々な解像度の素材を用意しないといけないのか…と嫌な感じになっていました。
ところが、そんなことも無いようでiOSで5.5インチサイズと12.9インチのものがあれば良くなったようです。 (昔はもっと面倒だった気が)
詳しくはこの辺をみるとよさそうです。
http://help.apple.com/itunes-connect/developer/#/dev4e413fcb8
http://help.apple.com/itunes-connect/developer/#/devd274dd925
Androidに関しては細かい指定がなかったので、iOSで作ったものをそのまま利用することにしました。
で、肝心のスクリーンショットはどうしたらいいのかですが、 端末でキャプチャして転送してみたいなのも面倒だなということでエディタ上でキャプチャしてしまうことにしました。 (広告とか、デバック表示とか消すもの楽ですし)
まず指定の解像度でキャプチャできるようにUnityエディタで設定をします。
Gameビューの左上にあるAspectの部分を選択すると、一番下にプラスボタンがあるので押すと、
どのような条件にするのか聞かれるので解像度を指定します。
次にコレをキャプチャするためのコードを組みます。
メニューから選択してキャプチャする形式にしました。
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
/////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// スクリーンショット機能
/// <summary>
/////////////////////////////////////////////////////////////////////////////////////////////////
public class Screenshot {
private static string outputDir = "ScreenShots/";
private static string fileName = "capture.png";
/////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// キャプチャ
/// <summary>
/////////////////////////////////////////////////////////////////////////////////////////////////
[MenuItem("Tools/Screen Shot")]
static void Capture() {
string path = getOutputPath();
if (!Directory.Exists(path)) {
Directory.CreateDirectory(path);
}
string fn = path + fileName;
Application.CaptureScreenshot(fn);
Debug.Log("captured .. " + fn);
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>
/// パスを取得
/// <summary>
/////////////////////////////////////////////////////////////////////////////////////////////////
static string getOutputPath() {
// Assetsは文字列に含めてはいけない
string projectDir = Application.dataPath + "/../";
string path = Path.GetFullPath(projectDir);
path += outputDir;
return path;
}
}
エディタ上ではScaleが1倍表示されないケースになると思いますが、 キャプチャを取得してみると指定の解像度でスクリーンショットが取得できています。
必要ならこれにキャプションとかいれて、申請に追加すればOKですね!!
以上です。
■ 参考