イワシのUnityブログ

Unity3dの技術関連

Unityでスクリーンショットを撮ってから画像が保存されるまで待機する

Unityでは画面のキャプチャは簡単に実装できます。

// スクリーンショットをとる
Application.CaptureScreenshot("image.png");

これだけです。(Pro版だとRenderTextureを使った方が多分楽です)
ただし、この処理は同期処理ではないため実際に画像が
保存されるまでにはタイムラグが生じます。

そのため、スクリーンショットを撮った後にその画像を使って
何か処理を行おうと思った場合、画像が保存されたかどうか検知しなくてはいけません。

以下の方法で解決できたのでサンプルを載せておきます。


Unityでスクリーンショットが完了するまでの待機するサンプル