(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



エディタでプレイ中のゲーム内容を記録し、動画、音、GIF、連番画像、アニメーションで保存が出来るUnity Recorder【Unity】【アセット】


このエントリーをはてなブックマークに追加


この記事はUnity #3 Advent Calendar 2019の19日目の記事です。


この記事でのバージョン
Unity 2018.4.13f1
UnityRecorder 2.0.3


はじめに

今回はエディタでプレイ中のゲーム内容を記録し、動画やGIFなどの様々な形式で保存が出来るアセット

Unity Recorderの紹介です!無料な上にUnity公式のアセットです!



イメージとしては以下のような感じ。

f:id:kan_kikuchi:20191219071058g:plain


なお、記事中では以下のアセットを使っています。





導入

先程Asset Storeのリンクを載せましたが、Unity2018.3以降はPackage Managerからインストールします。

なお、アセットストアのは後々消されるらしいです。

f:id:kan_kikuchi:20191202113755j:plain


導入と言ってもInstallボタンを押すだけで導入完了です。

f:id:kan_kikuchi:20191216094054j:plain


なお現状、Unity RecorderはPreview版なので、

AdvancedのShow preview packagesを有効にしないと表示されません。

f:id:kan_kikuchi:20191202113810j:plain



使い方

Unity Recorder導入すると、

Window/General/Recorder/Recorder Windowからウィンドウが開けるようになります。

f:id:kan_kikuchi:20191216113856j:plain


ウィンドウを開いた後、Add New Recordersから記録する形式を選択し、レコーダーを追加します。

f:id:kan_kikuchi:20191216113947j:plain


レコーダーはダブルクリックで名前変えたり、右クリックで複製や削除が行えます。

f:id:kan_kikuchi:20191219061520j:plain


また、Add New Recordersの右のメニューから

作成したレコーダー全体を保存や読み込んだり、全削除する事も可能です。

f:id:kan_kikuchi:20191219061532j:plain


レコーダー追加後、START RECORDINGボタンを押すと記録が開始されます。

(エディタが再生されていない場合は再生も開始)

f:id:kan_kikuchi:20191219080401j:plain


その後、STOP RECORDINGを押せば、記録が停止され、レコーダーの形式で保存されます。

なお、複数のレコーダーで同時に記録し保存することも可能です。

f:id:kan_kikuchi:20191219080621j:plain


各設定値については以下の通り。

  • Exit PlayMode : 記録停止時にエディタの再生も止めるか
  • Record Mode : 記録する時間
    • Manual : 開始と停止のボタン押した間を記録
    • Single Frame : 指定したフレームのみを記録
    • Frame Interval : 指定したフレーム間のみを記録
    • Time Interval(sec) : 指定した秒数間のみを記録
  • Play back : 記録するフレームレート
    • Constant : ゲームとは関係なく固定する
      • Target : 固定するフレームレート値
    • Variable : ゲームと同じにする
      • Max : フレームレートの上限


実際に記録と保存をしてみると以下のような感じ。

ちなみに同時に全ての形式で記録&保存しているため重くなり処理落ちしています。

f:id:kan_kikuchi:20191219071058g:plain


次項から各記録形式について説明していきます。


Animation Clip : 任意のゲームオブジェクトの動きを記録

Animation Clipは任意のゲームオブジェクトの動きをAnimation Clipとして記録します。

f:id:kan_kikuchi:20191219044020j:plain


各設定値については以下の通りです。

  • File Name : 保存時のファイル名
  • Path : ファイルを保存する場所
  • Take Number : ファイル名のに設定する数字(実行する度に自動で増加)
  • GameObject : アニメーションを記録する対象のGameObject
  • Recorded Target(s) : アニメーションを記録する対象のコンポーネント
  • Record Hierarchy : 対象の子の変化も記録するか



Movie : GameViewなどを動画で記録

MovieはGameViewなどを動画で記録します。

f:id:kan_kikuchi:20191219055949j:plain


各設定値については以下の通りです。

  • 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枚の画像として、連番画像で記録します。

f:id:kan_kikuchi:20191219061615j:plain


各設定値については以下の通りです。

  • 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で記録します。

f:id:kan_kikuchi:20191219061644j:plain


各設定値については以下の通りです。

  • File Name : 保存時のファイル名
  • Path : ファイルを保存する場所
  • Take Number : ファイル名のに設定する数字(実行する度に自動で増加)
  • Capture : キャプチャの対象
    • Targeted Camera : 任意のカメラ
    • Render Texture Asset : 任意のレンダーテクスチャ
    • Texture Samplig : 任意のカメラかつ、任意の解像度
  • Encoding : クオリティとサイズ
    • Num Colors : 色数
    • Keyframe Interval : フレームの間隔
    • Max Taks : 同時にエンコードするフレーム数



Audio : ゲーム中の音だけを記録

Audioはゲーム中の音だけを記録します。

f:id:kan_kikuchi:20191219061703j:plain


各設定値については以下の通りです。

  • Format : オーディオファイルの形式
  • File Name : 保存時のファイル名
  • Path : ファイルを保存する場所
  • Take Number : ファイル名のに設定する数字(実行する度に自動で増加)
  • Capture audio : 音を録音するか



参考