基本的にはこちら↓の記事を参考にすると良いかと思います!
Unityで画面のスクリーンショットを撮る(Application.CaptureScreenshotじゃない方法)
一番簡単な「Application.CaptureScreenshot」をやったんですが、正直3時間ハマりました。あはー
ハマった原因は、Android6.0以上のパーミッションの件です。
Androidアプリ開発者ならご存知かと思いますが、TargetSDKがAndroid6以上の場合は、パーミッションの確認が必要ですよね。。。
自分の端末はNexus5X(Android7.1.1)だったため、バッチリ当てはまっちゃいました。あはー
Android6以上端末で、とりあえずスクリーンショットがしたい
- Write AccessをExternal(SDCard)に変更
- 場所は→ Build Settig > Player Setting > Configuration > Write Access
- Application.CaptureScreenshot("screenshot.png")をボタンなどにアタッチ
- スクリーンショットメソッドの前にandroid.permission.WRITE_EXTERNAL_STORAGEのパーミッション許可を実装する
- 参考1:UnityでAndroid6.0におけるパーミッションを対応する
- 上記記事にも記載があるが、supportv4が必要なので、ファイルの追加、フォルダの追加を行う必要がある。フォルダについての参考:Unityの特殊フォルダと各々の役割
- 参考2:UnityでRuntimePermissionを実装する
- とりあえずスクリーンショットの動きが見たいのであれば、3は一旦実装せずに、2の状態でビルドして、設定のアプリ一覧で当該アプリを選択して、権限一覧のストレージ項目をON状態にして、アプリでスクリーンショットを実行すればOK