
このブログはUnity初心者向けに、Unityの基本的な機能やスクリプトファイルの使い方から応用までを分かりやすく解説しています。中級者以上の方にも役立つ情報を随時更新しているので、Unity開発に興味がある方はぜひブックマークしてチェックしてください。
一分間Unity講座、過去の記事は「一分間Unity講座まとめ」のサイトでご確認ください。
前回の記事ではUnityのRecorderを使ってPlay中動画を撮影する方法をご紹介しました。今回は前回の続きでキャラクターの透過画像を取得する方法のご紹介です。3Dのキャラクターにも有効ですので、ご自身の作品を紹介したい時などには役に立つかもしれません。
YoutubeファイブボックスUnityマニアのショート動画「一分間Unity講座 Play中の様子を録画する方法」でも、この内容についてご紹介しています。もしよろしければ合わせてご参照ください。
カメラの設定
メインカメラに対し、以下の設定を行います。
■ Transform コンポーネント
CameraのTransformコンポーネント各プロパティ、CinemaSceneを使っている場合は、対応するコンポーネント、プロパティ値を指定して、Playerを任意の方向から捉えることができるようにします。
■Cameraコンポーネント
Clear Flags:Solid Color を指定することで、背景が映り込まなくなります。

Hierarchyに配置し、Gameビューで表示されるUI以外のオブジェクトは、撮影対象になってしまいます。ほかのオブジェクトを画像ファイルに含めたくない場合は、Active状態のチェックを外し無効化、またはRendererコンポーネントを無効にして表示されないようにします。
Recorderの設定
Unity Recorder を取り込んでいない場合は、前回の記事 を参考にUnityRecorder を取り込み、エディタ上に配置しておきましょう。
■ 記録対象の指定
左下のエリアで、どの形式で記録するのかを指定します。
❶ Add Recorder 今回は画像ファイルとして保存したいので「Image Sequence」を選択し新たなRecorderを追加します。

■ レコーディングタイミング
上部エリアでは「Start Recording」を押したときの挙動を指定します。
❷ Exit Play Mode チェックを入れると「Start Recording」を押した後、Playが停止してしまいます。今回は複数画像を取得したいので、チェックを外しておきます。
❸ Recording Mode 「Start Recording」を押した瞬間の画像を撮影したいので「Single Frame」にします。定期的に自動で撮影したい場合は「Flame Interval」などを指定します。
下がそれぞれのRecprdingModeを指定したときの動きになります。
Manual | 手動で Start Recording または Stop Recording をクリックすると、それぞれレコーディングを開始または停止します。 |
Single Frame | 1 フレームを記録します。Target Frame プロパティーで、記録するフレームを指定してください |
Frame Interval | 再生モード中に連続したフレームを記録することができます。Start と End のプロパティーで、開始と停止のタイミングを指定します。 |
Time Interval | 再生モード中に、特定の継続時間を秒単位で記録します。Start と End のプロパティーで、開始と停止のタイミングを指定します。 |

■ Image Recording の設定
❹ Source Trargeted Camera を指定、透過画像を取得します。
❺ Camera 対象となるカメラを指定します。今回はMainCameraを指定します。
❻ Output Resolution 出力する画像の解像度を指定します。GameViewで指定した解像度がリンクするように指定します。サンプルでは縦長の 1080 × 1920 を指定しました。
❼ Media File Format 画像ファイルのファイル形式を指定します。透過画像はPNG形式になります。
❽ Incloud Alpha 保存ファイルにアルファチャネル(透明度)を含むかどうかを指定します。背景の透明度を0にしたいので、チェックを入れておきます。
❾ File Name , Path 保存ファイル名、保存場所などを指定します。

これで基本的な設定は完成です。 プレイをして「StartRecording」ボタンを押せば、そのタイミングで透過が画像を取得することができます。

ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。