Unity開発Tips

Unity開発者のためのメモ書き

iOS申請用のゲームスクリーンショットを撮る方法【Unity】【iOS申請】

time 2016/05/03

概要

いよいよiOS用のアプリを公開しよう!と思っても、申請には様々な解像度のスクリーンショットが必要になる。

iOSのストア用スクリーンショットの各サイズを一括で準備する

Unityでゲームのスクリーンショットを撮る方法はあるけど、好きなタイミング、好きな解像度でスクリーンショットを撮るのはちょっと面倒。ということで、スクショ用のコード書いてみた。

ScreenShot.cs

using UnityEngine;
using System.Collections;

public class ScreenShot : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	void Awake(){
		DontDestroyOnLoad (this.gameObject);
	}
	static int count = 0;

	// Update is called once per frame
	void Update () {
		if (Input.GetKey(KeyCode.Space)) {
			count++;
			Application.CaptureScreenshot("screenshot" + count.ToString() + ".png",4);

		} 
	}
}

たいしたことは書いてないです。。

準備

スクリーンショット 2016-05-03 12.06.49

・UnityのApplication.CaptureScreenshotはGameViewで表示している解像度で撮影するため、上記のGameViewの解像度を撮影したいスクショの解像度にすれば良い。

・ただし、使用しているモニタの解像度が低かったり、ノートパソコンで作業していたりすると、解像度が足りず、全てを表示できない場合がある。

・1080×1920の解像度で撮影したいとすると、ディスプレイの解像度を超えてしまうため、対応が必要。

・そこで上画面のとおりGameViewの表示解像度を縦横それぞれ1/4の解像度(270×480)に設定。(アスペクト比が合っていて、モニタ上でGameView全てを表示できれば倍率は変更可能)

・Application.CaptureScreenshot(“screenshot” + count.ToString() + “.png”,4); ←第2引数の4が解像度を4倍にして撮影するという意味。これで270×480の4倍の解像度(1080×920)で撮影することができる。

スクリーンショット 2016-05-03 12.14.17

・左上のUsing resolution が表示されているときは、指定の解像度で表示できていない状態。この状態だと245×436の4倍の解像度(980×1744)で保存されてしまう。

スクリーンショット 2016-05-03 12.13.27

・このように指定の解像度できっちりGameViewが表示できるようにサイズを広げる(今回は1/4サイズ。270×480)

・左上のUsing Resolutionが消えればOK

使い方

・ゲームを再生し、任意のタイミングでスペースキーを押すと、スクリーンショットを撮影可能。

スクリーンショット 2016-05-03 12.39.39

・保存先はAssets直下。上記の通り、指定の解像度でスクリーンショット撮影できました。

まとめ

・解像度を計算するという一手間が必要だけど、好きなタイミング、好きな解像度でスクリーンショットが撮影できる。

参考

以下を参考にしました。

【Unity】ディスプレイより大きくてサイズが指定された解像度のスクリーンショットを撮影する

down

コメントする




CAPTCHA


プロフィール

Magnagames

Magnagames

Unityでゲームを開発しています。開発中の気づきなど情報発信していきます。

プロフィール | Magnagames