[Unity] スクリーンショットの保存

Unityにおいてプレイ中のゲームのスクリーンショットを取る方法のメモです。
結論から言うと、Application.CaptureScreenshot()を呼び出すだけで実現できます。

// スナップショット保存
Application.CaptureScreenshot("screenshot.png");

非常に簡単ですね。
サポートする画像の形式は主にPNGです。

例えば、以下のようにしてキーボードのEnterキーを押したときに画像を連番で保存すれば、プレイ中のゲーム画面を素早く何回もキャプチャできるので便利です。

using UnityEngine;
using System.Collections;

public class Screenshot : MonoBehaviour {
    private int index = 0;

    void Update() {
        if ( Input.GetKeyDown(KeyCode.Return) ) {
            // スクリーンショット保存
            Application.CaptureScreenshot(Application.streamingAssetsPath + "/screenshot_" + index++ + ".jpg");
        }
    }
}

ビルド後のゲーム内でも使用できるので、何か写真を撮るような機能も実装できそうですね。

■参考サイト
Unity – Scripting API: Application.CaptureScreenshot