この記事はUnity #3 Advent Calendar 2019の19日目の記事です。
この記事でのバージョン
Unity 2018.4.13f1
UnityRecorder 2.0.3
はじめに
今回はエディタでプレイ中のゲーム内容を記録し、動画やGIFなどの様々な形式で保存が出来るアセット
Unity Recorderの紹介です!無料な上にUnity公式のアセットです!
Unity Recorder - Asset Store |
イメージとしては以下のような感じ。
------------追記------------
このアセット用にUnityエディタを再生すると同時に録画も開始する拡張と、
保存されたファイルが一定数を越えたら古い順に削除する拡張を作りました!
------------追記おわり------------
なお、記事中では以下のアセットを使っています。
Villager Boy NPC V 2.6 | 3D Characters | Unity Asset Store |
目次
- はじめに
- 目次
- 導入
- 使い方
- Animation Clip : 任意のゲームオブジェクトの動きを記録
- Movie : GameViewなどを動画で記録
- Image Sequence : 各フレームを1枚の画像として、連番画像で記録
- GIF Animation : 各フレームを1枚の画像として、GIFで記録
- Audio : ゲーム中の音だけを記録
- 参考
導入
先程Asset Storeのリンクを載せましたが、Unity2018.3以降はPackage Managerからインストールします。
なお、アセットストアのは後々消されるらしいです。
導入と言ってもInstallボタンを押すだけで導入完了です。
なお現状、Unity RecorderはPreview版なので、
AdvancedのShow preview packagesを有効にしないと表示されません。
使い方
Unity Recorder導入すると、
Window/General/Recorder/Recorder Windowからウィンドウが開けるようになります。
ウィンドウを開いた後、Add New Recordersから記録する形式を選択し、レコーダーを追加します。
レコーダーはダブルクリックで名前変えたり、右クリックで複製や削除が行えます。
また、Add New Recordersの右のメニューから
作成したレコーダー全体を保存や読み込んだり、全削除する事も可能です。
レコーダー追加後、START RECORDINGボタンを押すと記録が開始されます。
(エディタが再生されていない場合は再生も開始)
その後、STOP RECORDINGを押せば、記録が停止され、レコーダーの形式で保存されます。
なお、複数のレコーダーで同時に記録し保存することも可能です。
各設定値については以下の通り。
- Exit PlayMode : 記録停止時にエディタの再生も止めるか
- Record Mode : 記録する時間
- Manual : 開始と停止のボタン押した間を記録
- Single Frame : 指定したフレームのみを記録
- Frame Interval : 指定したフレーム間のみを記録
- Time Interval(sec) : 指定した秒数間のみを記録
- Play back : 記録するフレームレート
- Constant : ゲームとは関係なく固定する
- Target : 固定するフレームレート値
- Variable : ゲームと同じにする
- Max : フレームレートの上限
- Constant : ゲームとは関係なく固定する
実際に記録と保存をしてみると以下のような感じ。
ちなみに同時に全ての形式で記録&保存しているため重くなり処理落ちしています。
次項から各記録形式について説明していきます。
Animation Clip : 任意のゲームオブジェクトの動きを記録
Animation Clipは任意のゲームオブジェクトの動きをAnimation Clipとして記録します。
各設定値については以下の通りです。
- File Name : 保存時のファイル名
- Path : ファイルを保存する場所
- Take Number : ファイル名の
に設定する数字(実行する度に自動で増加) - GameObject : アニメーションを記録する対象のGameObject
- Recorded Target(s) : アニメーションを記録する対象のコンポーネント
- Record Hierarchy : 対象の子の変化も記録するか
Movie : GameViewなどを動画で記録
MovieはGameViewなどを動画で記録します。
各設定値については以下の通りです。
- Format : 動画の形式
- File Name : 保存時のファイル名
- Path : ファイルを保存する場所
- Take Number : ファイル名の
に設定する数字(実行する度に自動で増加) - Capture : キャプチャの対象
- Game View : ゲーム画面
- Targeted Camera : 任意のカメラ
- 360 View : 任意のカメラの360°全体
- Render Texture Asset : 任意のレンダーテクスチャ
- Texture Samplig : 任意のカメラかつ、任意の解像度
- Capture audio : 音も録音するか
- Quality : 画質のクオリティ
Image Sequence : 各フレームを1枚の画像として、連番画像で記録
Image Sequenceは各フレームを1枚の画像として、連番画像で記録します。
各設定値については以下の通りです。
- Format : 画像の形式
- File Name : 保存時のファイル名
- Path : ファイルを保存する場所
- Take Number : ファイル名の
に設定する数字(実行する度に自動で増加) - Capture : キャプチャの対象
- Game View : ゲーム画面
- Targeted Camera : 任意のカメラ
- 360 View : 任意のカメラの360°全体
- Render Texture Asset : 任意のレンダーテクスチャ
- Texture Samplig : 任意のカメラかつ、任意の解像度
GIF Animation : 各フレームを1枚の画像として、GIFで記録
GIF Animationは各フレームを1枚の画像として、GIFで記録します。
各設定値については以下の通りです。
- File Name : 保存時のファイル名
- Path : ファイルを保存する場所
- Take Number : ファイル名の
に設定する数字(実行する度に自動で増加) - Capture : キャプチャの対象
- Targeted Camera : 任意のカメラ
- Render Texture Asset : 任意のレンダーテクスチャ
- Texture Samplig : 任意のカメラかつ、任意の解像度
- Encoding : クオリティとサイズ
- Num Colors : 色数
- Keyframe Interval : フレームの間隔
- Max Taks : 同時にエンコードするフレーム数
Audio : ゲーム中の音だけを記録
Audioはゲーム中の音だけを記録します。
各設定値については以下の通りです。
- Format : オーディオファイルの形式
- File Name : 保存時のファイル名
- Path : ファイルを保存する場所
- Take Number : ファイル名の
に設定する数字(実行する度に自動で増加) - Capture audio : 音を録音するか
参考