[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"); } } }
ビルド後のゲーム内でも使用できるので、何か写真を撮るような機能も実装できそうですね。