見出し画像

Unreal Engineを使ったバーチャルプロダクションでOCIOを使ってみる

OpenColorIOを使って、UnrealEngineでカラーマネジメントを行うチュートリアル動画です。Jake G. Waterさんの動画は座学も含めて、どれも勉強になるのでおすすめです。

前半はカラーマネジメントのセオリーのお話。後半から7:23あたりからUnrealへの実装のお話です。

なぜOCIOを使うのか

UnrealEngineでビデオI/Oを使って入出力した映像の色味が、どうも違うという時は異なる色空間が混在することが要因の一つだったりします。ちなみに、私はDeckLink 8K Proを使ってます。

異なる色空間の映像を正しく変換するカラーパイプラインを考える必要があります。OCIOを使うと手軽にそれができちゃいます。

私も色がどうもしらっちゃける~とか、SDI出力先(Blackmagic Video Assistやテレビ)で見ると色が濃いけどなんとかできないかなあというところから調べ始めました。(※カメラのLUTの設定とかもあるんですが)

UnrealでOCIOを使う

OCIOの前知識として、「カラーマネジメント」、「カラースペース(色空間)」などの基礎知識があると理解が深まります。

ここでは、Jake G. Waterさんの動画を見ながら、UnrealEngineで使う場合のポイントをメモ代わりとして残しておきたいと思います。

今回紹介する方法は、UnrealEngineで、OpenColorIOのサイトからダウンロードしたACES 1.2 Configファイルを利用し、カラーマネジメントを行う方法です。

利用する方法はシンプルです。

  • UnrealEngineに、OCIOファイルを読み込む(正確には指定する)

  • UnrealEngineで、映像入力側のカラースペースを設定(変換元)

  • UnrealEngineで、映像出力側のカラースペースを設定(変換後)

あとは、UnrealEngineとOCIOが情報を使って変換してくれるという仕組みになります。

さて、OpenColorIO自体はUnrealEngineに初期で統合されているシステムではないので、プラグインを読み込み、config.ocioをダウンロードしてくる必要があります。

プラグインのRenderingカテゴリーにある

OCIOのダウンロード

OCIOのコンフィグファイルをダウンロードして使います。

Git Hubからダウンロードできます。最新はACES 1.2 Configです(2022/07/21時点)。「opencolorio-config-aces-1.2.zip」124MBをダウンロードします。
https://github.com/colour-science/OpenColorIO-Configs/releases/tag/v1.2

ソースファイルも含めてダウンロードするとめちゃくちゃ時間かかるので注意してください。

解凍すると「aces_1.2」というフォルダが有り、中に「config.ocio」が入っていると思います。

後ほどUnrealEngineから、「config.ocio」のファイルパスを指定するので、ダウンロードした「aces_1.2」フォルダは適当な場所に移動させておくとよいと思います。UnrealEngineのプロジェクトフォルダとかに。

UnrealEngine側の設定(UE5.0.2使用)

「その他」から「OpenColorIOコンフィギュレーション」を追加します。

UE4だとカラフルなアセットアイコンなのに、UE5だと素朴なアイコンに

名前は適当で良いですが、「ACES1_2」にしました。

作ったOCIOコンフィギュレーションを開いて、Configuration Fileの「…」を選択して、先程ダウンロードしたconfig.ocioを指定。

ファイルパスを指定

正しくconfig.ocioが追加されていると、Desired Color Spaceに沢山のカラースペースが表示されます。

リストに追加されます。

以下の5つを追加しておけば、事足りるとのこと。

  • Utility - Linear sRGB

  • ACES - ACES2065-1 (普通にACESと呼ぶ時はこの2065-1のこと)

  • ACES - ACEScg

  • Output - Rec.709

  • Output - sRGB

こうしておくと、Unrealの色んな場所でOCIOでのカラーマネジメントを利用できます。

例えば、ComposureではTransform Passesの項目を追加して、OpenColorIO Passを選択してカラースペースの変換をすることができるようになります。

必要な所にOpenColorIOの設定を追加していく。
ビューポートの表示に反映することも可能


あわせて読みたい参考ドキュメント


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