Unityでスクリーンショットを撮る

2020年2月6日  2020年10月3日 
Unityで画面のスクリーンショットを撮る方法を調べました。
特に利用する予定はないのですが、SNSに簡単にスクリーンショットを投稿する機能はよくみます。
知っておいて損はなさそうです。

スクリーンショットを撮ってファイルに保存する方法


下記のスクリプトでスクリーンショットを撮ることができます。
撮ったスクリーンショットのファイルは「Application.persistentDataPath」に保存されます。

ScreenCapture.CaptureScreenshot(fileName);

スクリーンショットを撮ってTexture2Dに保存する方法


Texture2Dに保存する場合は下記のスクリプトを使用します。

Texture2D captureTexture = ScreenCapture.CaptureScreenshotAsTexture();

Texture2Dに保存する場合に注意するのは、ファイルと違ってすぐにスクリーンショットを撮ってしまうことです。
ファイル同様にフレームの最後でスクリーンショットを撮りたい場合は下記のようにコルーチンを使ってフレーム最後まで待ちます。

IEnumerator CaptureScreenshotAtEndOfFrame()
{
  yield return new WaitForEndOfFrame();
  Texture2D captureTexture = ScreenCapture.CaptureScreenshotAsTexture();
}

環境


Windows 10 Pro
Unity 2019.3

ー記事をシェアするー
B!
タグ

コメント

このブログを検索

自己紹介

自分の写真
yayao
Unityを使って、モバイルゲームを作っています。
人気の投稿