[Unity] 画面をキャプチャーしてPNGファイルへ出力する [Not RenderTexture]

Pocket

画面をキャプチャーしPngファイルへ保存する方法です。ゲーム実行時ではなく開発中にUnityのエディタ上でスクリーンショットを撮りたい場合に使用しました。ゲーム内での動的なやつはUnity Pro版のRenderTextureを使えばよさそうですが無課金ユーザーなので使えません。

単純に画面の状態を保存するのならこれで終了です。

 

 

自分がほしかったのはアルファチャンネル込みの画像だったのでTexture2Dを32bitで作成し、画面の状態を取り込みました。

スクリーンショットをPNGへ出力したら自分自身をGameObjectから削除します。(1ショットのみするように)

 

10ピースパズルのステージセレクト画面のスプライトを作成するのに使用

puzzle_stages

ステージデータを渡すとキャプチャーしてPNGを出力するシーンを作って、ステージ選択画面用のスプライトを作成しました。Unityのエディタ上で動くような拡張機能を作れる能力があれば良かったのですが(拡張機能で作れるかわかりません)、そんな力は持ち合わせていないのでこのような構成になりました。

カメラの背景色アルファ値を0にしておけば綺麗なスプライトが作れました。キャプチャーサイズはビューサイズになるので、ビューサイズを256×256とかにしておけば使いやすいです。ローテクすぎかな・・・。

Pocket

希木小鳥

Diablo1でハクスラの世界に。今はPath of Exileをプレイ中。長くやっていてもNoob属性は常に付いている。そのくらい行き当たりばったり。オタクになれないゲーマー。

You may also like...