見出し画像

Unityレコーダーでゲームシーン録画をできる限り高画質に行いたい


結論


録画したいUnityプロジェクトにUnity Recorderをインポートして、連番静止画録画をしたあと、何かしらの動画ソフトで高画質でエンコードする。

背景


Unity Recorder(2.5.5現在)の標準の設定(Movie:FHD-1080p)でも
薄暗い場所など、ゲームシーンによっては画質に満足しないことがあった。なのでもっと高画質に撮れる方法はないか調べた。

環境 Win10 / Unity Editor 2019.4.11f1


手順

1,録画


UnityプロジェクトのPackage Managerを起動
Unity Registry->Unity Recorder を選択しImportする

インポート後
メニュー "Window - General - Recorder - Recorder Window" を選択でUnityレコーダーの設定パネルが開く。

設定パネルの中のAdd Recorderを選択する。
とりあえず撮れりゃいいよって人ならMovieを追加して画質はお好みで設定。最高で4Kとかまである。

Source: Game View
Output Resolution: FHD-1080p
Aspect Ratio 16:9
Format: H.264 MP4
Quality: High

OutputFileで保存先を指定する


超高画質に撮りたい人はimage sequenceを追加する。
これを選択するとOutputFileで指定したフォルダに連番の静止画が保存される。

Source: Game View
Output Resolution: FHD-1080p
Aspect Ratio 16:9
Media File Format: PNG

設定が終わったら"START RECORDING" ボタンを押してゲーム録画開始されゲームシーンの実行も開始される。"STOP RECORDING" を押すかゲーム終了するとキャプチャーも停止する。

連番静止画で録画するとゲーム動作が超重たくなるので覚悟すること。
スローモーションのようになるけどちゃんと記録されているので、我慢してプレイ。保存先をHDD->SSDに変えても体感変わらず、あまり動作軽減には効果はないもよう。

※注意
ゲーム録画の解像度を1080pにしたら、GameViewの解像度も16:9にする

2,エンコード


連番静止画の動画に変換するツールはいろいろあるので、自身に都合のよいツールを選択する。"連番静止画 動画変換"とかでググるとFFmpegとかAviUtlとかTMPGEncとかフリーでできるものが結構でてくる。

今回紹介するのは自分が使ってるAdobe Premiere Pro CS6.0 (CCの人も可能)

超簡単。

・ファイル->読み込み でUnityで録画したフォルダの中の画像ファイル
image_001_0000.pngを選択する(保存名によって異なるので末尾が0000のものを探す)

・ダイアログの左下にある、画像シーケンスのチェックボックスにチェックを入れる。(★重要)これで動画クリップとして読み込まれる状態になる。
※PremiereProが  *-0000.png *-0001.png *-0002.png *-0003.png~ と自動で読み込んでくれている。(ファイル名の連番が崩れていると正常に読み込めないので注意)

読み込んだ後は高画質のエンコード設定して任意のフォーマットで動画書き出しをする。以上。満足のいく画質になった。

参考
https://panproduct.com/blog/?p=80791

この記事が参加している募集

#最近の学び

181,387件

この記事が気に入ったらサポートをしてみませんか?