Unreal EngineとDaVinci Resolveで動画を作る最短手順

## 概要
Unreal Engineのレベルシーケンスをmp4等の動画にする方法をまとめました。
無料版のDaVinci Resolveでも可能です。
バージョンは、Unreal Engineは5.3、Davinci Resolveは19 Preview 3です。
例としてHillsideサンプルを動画にしてみます。以下から取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/f94cd970-6df2-5dfe-4cbd-81abd52b1fe7.png)

## シーケンサから連番イメージファイルを生成
Movie Render Queueが有効であることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/7700665b-f21f-3d3f-eaa2-4894bb9b687d.png)

Movie Render Queueを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/53297d5e-775d-3912-53ce-777b4493dded.png)

レンダリング対象のレベルとレベルシーケンスを指定し、Render (Local) ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/530668ef-6029-675e-6901-dc3f2b08d4f2.png)

レンダリング過程が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/3f904ba2-2ddc-f6cd-7ff2-c8c6d02b6320.png)

Saved/MovieRenderesフォルダ下にjpegで連番ファイルが生成されることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/6b457c6f-b100-a95e-40ff-501572744fab.png)

## ACEScgのOpenEXR生成方法

残念ながらDaVinci Resolveはjpegを連番のシーケンスとして認識してくれません。そのためにはjpegではなくOpenEXRで出力する必要があります。

OpenEXRの色空間はACEScgとします。そのためのOCIOアセットを作ります。OpenColorIOプラグインが有効であることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/b21672d6-354f-410c-7e0c-3d24be320eae.png)

OpenColorIO Configurationという種類のアセットを作ります。Desired Color Spacesを以下のように設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/04916139-2cb9-c170-9aa1-2195cf2edb7a.png)

OpenEXRでの出力のためには最低限Movie Pipeline Primary Configというアセットが必要です。Unsaved Configと表示されている部分をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/7e4d6454-3f2d-0e0c-09a9-e1262c04a15d.png)

Exports -> jpg Sequence [8bit] を削除し、 .exr Sequences [16bit]を追加します。CompressionはDWABが良いようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/b2660036-34cd-90d1-e9fa-e33798ac8503.png)

Color Outputを追加します。
Is Enabledにチェック、
Transform SourceにLinear Rec.709(sRGB)、
Transform DestinationにACEScg、
を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/0681ae10-fb6c-829b-3cee-4a936e693431.png)

そのままAcceptを押してMovie Render QueueからRender (Local)を押してもよいのですが、次回以降のレンダリングに備えてアセットとして保存するのがおすすめです。

注意点として、ACEScgを指定するとプレビューで表示される色が異なって見えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/8a208c1c-4ec3-4a19-19ad-ce98c7ea57e1.png)

同シーンの先ほどのjpegの出力結果はこちらです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/e9ba3574-0b65-0555-cecb-0160d271249e.png)

プレビューの色が異なる問題はDaVinci Resolveで色空間を指定すると解決されるので、気にしないでおきます。

## DaVinci ResolveでOpenEXRを動画化

DaVinci Resolveで、exrが連番で認識されていることが確認できました。Add into Media Poolでクリップ化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/ae1dce66-13c2-927d-1d23-6d69f95c8a7e.png)

クリップからタイムラインを作ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/efa37f6f-2985-e5f5-1940-2fab58b8c4f3.png)

ここまでくればこのままDeliverタブから動画を出力することも可能ですが、現状正しくない色になります。正すにはいくつかの方法がありますが、最も簡単なのはプロジェクト設定です。
Color scienceをACEScct、
ACES Input TransformをACEScg - CSC、
ACES Output TransformをsRGB
にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/ebe486a8-dafe-b807-1c73-9ba99bf4f442.png)

Deliveryタブからレンダリングすれば完成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/66160/50b0cf72-6d18-f242-fcf1-6419ce8154ae.png)

## 次回

https://qiita.com/yorung/items/faf36d092bf2500ee8a1