コンテンツにスキップ

Unreal OCIO Setup (Unreal OCIO のセットアップ)

バーチャルプロダクションの重要な要素は、レンダリングパイプライン全体で一貫したカラーを維持することです。 このページでは、プロダクションプロセス全体を通じて一貫したカラーマネジメントを実現するために、Unreal Engine で OpenColorIO(OCIO)をセットアップするのに必要な手順を説明します。

続行する前にUE Project Setup の手順に従ってプロジェクトのセットアップを完了していることを確認してください。

  • 選択した OCIO config ファイルを、選択した Unreal プロジェクトの Content フォルダーに配置します。
    • RenderStream Projects/<UEProject>/Content/<OcioConfig>.ocio
  • 標準の OCIO config ファイルは OpenColorIO GitHub からダウンロードできます。

Unreal Engine プロジェクトで正確なカラー表現を確保するため、Netflix の Unreal Validation Framework を利用することをお勧めします。このフレームワークは、プロジェクト全体でカラーの一貫性を検証・維持するためのツールを提供します。

OCIO を使用するには、使用したい具体的なファイルとカラースペースを指定するために、Unreal は OpenColorIO Configuration を必要とします。

  1. Content Drawer を開きます。
  2. Add ボタンをクリックします。
  3. Miscellaneous > OpenColorIO Configuration に移動して選択します。

RS OCIO Config OpenColorIO Configuration を追加

次に、RenderStream プラグインでカラースペースを構成するために、OpenColorIO Configuration から関連するカラースペースを公開する必要があります。

  1. Content Drawer で、先ほど追加した OpenColorIO Configuration をダブルクリックします。
  2. Config の下で、Configuration FileOCIO Config File セクションで追加した .ocio config ファイルに設定します。
  3. Desired Color SpacesDesired Display-View を追加して、後で使用するためにカラースペースとディスプレイビューを公開します。

RS OCIO Config Setup OpenColorIO Configuration 設定

公開された Desired Color Spaces は、通常 RenderStream プラグインのソースカラースペースとして使用されます。

  • Unreal Engine はデフォルトで Project SettingsWorking Color Space として sRGB / Rec709 を使用します。
    • OCIO config 内の対応するカラースペースは Linear Rec.709 (sRGB) です。
  • もう1つの典型的な Working Color SpaceACES AP1 / ACEScg です。
    • OCIO config 内の対応するカラースペースは ACEScg です。

公開された Desired Display-View は、通常 RenderStream プラグインの宛先カラースペースとして使用されます。

  • 一般的な RenderStream のユースケースには Rec.2100-PQ - Display - Un-tone-mapped を推奨します。
  • 宛先カラースペースとは、コンテンツが RenderStream 経由で送信される際のカラースペースを指します。

Project Settings(プロジェクト設定)

Section titled “Project Settings(プロジェクト設定)”

OpenColorIO Configuration をセットアップしたら、カラー変換を適切に適用するために Project Settings を構成する必要があります。

Edit > Project Settings に移動します。

Project SettingsEngine > Rendering で、Unreal Engine の Working Color Space を定義できます。 Unreal Engine 内のすべてのテクスチャは、Working Color Space として設定されたカラースペースと一致する必要があります。

たとえば、Working Color SpaceACES AP1 / ACEScg の場合、すべてのテクスチャは ACES AP1 / ACEScg でなければなりません。デフォルトでは、Unreal は sRGB / Rec709 を使用します。

別のカラースペースを使用することが厳密に必要でない限り、Unreal Engine のデフォルトのカラースペースを維持することをお勧めします。

Engine Rendering Settings Engine Rendering 設定

意図しないカラー変換を避けるため、目的のカラースペースで OCIO を有効化・構成することが重要です。

  1. Plugins > Disguise RenderStream に移動します。
  2. OCIOConfig セクションを展開します。
  3. Is Enabled チェックボックスを選択します。
  4. Configuration Source を、先ほど作成した OpenColorIO Configuration に設定します。(新しい構成を追加する を参照。)
  5. Transform Source を Unreal Engine の Working Color Space に一致するように設定します。
    • カラースペースが OpenColorIO Configuration で公開されていることを確認します(カラースペースを準備する を参照)。
    • Unreal Engine と OCIO の間でカラースペースを一致させる方法については Transform Source を参照してください。
  6. Transform Destination を、Designer の RenderStream アセットの Input transform に一致するように設定します。

Disguise RS Settings Plugins - Disguise RenderStream 設定

UE Working Colour Space一致する OCIO Config カラースペース
sRGB / Rec709Linear Rec.709 (sRGB)
ACES AP1 / ACEScgACEScg

次の理由から、Transform Destination として Rec.2100-PQ - Display - Un-tone-mapped を使用することをお勧めします。

  1. Rec.2100 はディスプレイの実現可能なガモットに密接に対応します。
  2. PQ(Perceptual Quantizer)は、範囲全体でディテールを保持するガンマエンコーディングを提供します。対照的に、標準的なリニアエンコーディングでは画像の暗い領域でディテールが失われます。これは、RenderStream が16ビット浮動小数点形式ではなく10ビット信号形式でフレームを送信するため重要です。
  3. Unreal Engine と Designer の間で共有されるカラースペースは中間的なコンポジット段階であるため、トーンマッピングは不要です。

同様に、0から1の範囲に収まり、ガンマカーブエンコーディングを持つカラースペースの使用をお勧めします。これにより、RenderStream の10ビット信号形式内でできるだけ多くのデータをフレームが保持できるようになります。0から1の範囲外の色はクランプされる点に注意してください。

Unreal Engine は、カラーグレーディングを変える複数のポストプロセスエフェクトを適用します。 レンダリングパイプライン全体で一貫したカラーを維持するため、カラーに影響する不要な設定を無効にすることが重要です。

  1. CameraActor または CineCameraActorDetails セクションを開きます。
  2. Post Process > Lens > Bloom に移動します。
    • Intensity0.0 に設定します。
  3. Post Process > Lens > Exposure に移動します。
    • Metering ModeManual に設定します。
    • Exposure Compensation0.0 に設定します。
    • Apply Physical Camera ExposureUntick(チェックを外す)に設定します。
    • Min EV100Max EV1001.0 に設定します。
      • これによりレンズの自動露出が無効になります。
  4. Post Process > Lens > Image Effects に移動します。
    • Vignette Intensity0.0 に設定します。
  5. Post Process > Color Grading > Misc に移動します。
    • Blue Correction0.0 に設定します。
    • Expand Gamut0.0 に設定します。
    • Tone Curve Amount0.0 に設定します。

Unreal Engine を構成した後、一貫したカラーを生成するため、それに応じて Designer でカラー設定をセットアップする必要があります。

OCIO ページに従って Designer を構成しますが、OCIO config ファイルと RenderStream の Input transform を一致させることに特に重点を置いてください。

OCIO Config ファイルをプロジェクトにインポートする

Section titled “OCIO Config ファイルをプロジェクトにインポートする”

Unreal Engine と Designer の両方で同じ OCIO config ファイルを使用することをお勧めします。

あるいは、OCIO config ファイルに Unreal の Transform Destination で使用されているのと同じカラースペースが含まれていることを確認してください(Plugins - Disguise RenderStream を参照)。

  1. RenderStream Projects/<UEProject>/Content/<OcioConfig>.ocio から OCIO config ファイルをコピーします。
  2. コピーした config ファイルを次のディレクトリーに配置します。
    • d3_projects/<PROJECT_DIR>/objects/ocio/

Copied OCIO Config File コピーされた OCIO Config ファイル

  1. Project Settings… を開きます。
  2. Colour managementOCIO に設定します。
  3. Unreal Engine プロジェクトで使用した OCIO config ファイルを使って OCIO config を設定します。

Selecting OCIO Config File OCIO Config ファイルの選択

RenderStream Layer で Input Transform を設定する

Section titled “RenderStream Layer で Input Transform を設定する”

RenderStream レイヤーの Input transform が、Unreal Engine Plugins | Disguise RenderStreamTransform Destination と一致していることを確認します。

  1. RenderStream レイヤーウィジェットを開きます。
  2. Asset を右クリックします。
  3. Input transform を Unreal の Transform Destination と一致するように設定します。

Input Transform of RS Layer RenderStream Layer の Input Transform

カラーチェッカーでカラーを検証する

Section titled “カラーチェッカーでカラーを検証する”

カラーチェッカーを使用してカラーパイプラインを科学的に検証することをお勧めします。このセクションでは、カラーチェッカーを使ってレンダリングのカラー精度を検証するパイプラインのセットアップ方法を説明します。

Designer は、最終出力のピクセル値を検査してカラー精度を確保する Colour Inspector ツールを提供します。

カラーチェッカーのセットアップ

Section titled “カラーチェッカーのセットアップ”

Color-Nuke GitHub のカラーチェッカーを使用します。Unreal Engine の Working Color Space に基づいて .exr ファイルを選択します。

Working Color Spaceリンク
Rec.709sRGB_ColorChecker2005.exr - Color-Nuke GitHub
ACES AP1 / ACEScgACEScg_ColorChecker2005.exr - Color-Nuke GitHub

ダウンロードしたファイルを Unreal Engine の Content フォルダーに配置します。

  • RenderStream Projects/<UEProject>/Content

Color Nuke sRGB Colour Checker Color Nuke - sRGB カラーチェッカー

sRGB Colour Checker in Content Folder Content フォルダー内の sRGB カラーチェッカー

Unreal Engine でマテリアルを作成する

Section titled “Unreal Engine でマテリアルを作成する”

カラーチェッカーをテクスチャとして追加したら、次の手順でマテリアルを作成します。

  1. Content Drawer でテクスチャを右クリックします。
  2. Create Material を選択します。

Create Material from Colour Checker Texture カラーチェッカーテクスチャからマテリアルを作成

テクスチャのカラースペースを設定する(任意)

テクスチャのカラースペースが Working Color Space と異なる場合は、調整します。

  • テクスチャをダブルクリックします。
  • Texture > Source Color Settings で、Color Space を適切に設定します。
    • sRGB の場合は sRGB / Rec.709
    • ACEScg の場合は ACES AP1 / ACEScg

Color Space of Colour Checker Texture カラーチェッカーテクスチャのカラースペース

ライティングエフェクトがカラーチェッカーに影響しないよう、マテリアルを Unlit に構成する必要があります。

  1. カラーチェッカーテクスチャから作成したマテリアルをダブルクリックします。
  2. Shading ModelUnlit に設定します。
  3. Texture SampleRGB ノードを Emissive Color 入力に接続します。

Colour Checker Material Settings カラーチェッカーマテリアルの設定

カラーチェッカー用のビューポート

Section titled “カラーチェッカー用のビューポート”

カラーチェッカーで完全に埋め尽くされたビューポートを作成するには、専用の PlaneCameraActor のペアを追加することをお勧めします。 既存の CameraActorPlane を使用することも可能ですが、専用のペアを使うとカラーチェッカー出力をより適切に制御できます。

  1. PlaneCameraActor を追加します(任意)。

Plane and Camera Actor Plane と Camera Actor

  1. 両方の Actor の Transform を調整します。
  2. Plane を選択し、Details パネルを開きます。
  3. Materials セクションを展開します。
  4. Element 0 の下で、作成したカラーチェッカーマテリアルを Plane に割り当てます。

Setup Plane Material Plane マテリアルのセットアップ

  1. CameraActor を選択します。
  2. ビューポートがカラーチェッカーで完全に埋め尽くされていることを確認します。

CameraActor Result Viewport CameraActor の結果ビューポート

Section titled “カラーチェッカービューポートを実現するための推奨 Transform”
ActorLocationRotationScale
Plane0.0, 0.0, 300.090.0, 0.0, 90.08.0, 4.5, 1.0
CameraActor-400.0, 0.0, 300.00.0, 0.0, 0.01.0, 1.0, 1.0

Designer の Colour Inspector ツールを使うと、レンダリングのさまざまな段階でカラー値を検査できます。 RenderStream レイヤーを扱っているため、次の手順に従って RenderStream レイヤーで Colour Inspector を使用します。

  1. RenderStream ワークロードを開始します。
  2. RenderStream レイヤーウィジェットを開きます。
  3. Default を展開します。
  4. Colour Inspector を選択します。
  5. Colour SpaceCustom に変更します。
  6. Colour SpacesRGB - Texture に設定します。
    • どの種類のカラーチェッカー(例: ACEScg)でも sRGB - Texture を使用します。
  7. カラーチェッカーテクスチャ内の任意のピクセルをクリックして、その値を表示します。
    • 必要に応じて Number Format を調整できます。

Colour Inspector
Colour Inspector

  1. ピクセル値を Wikipedia の メーカーの sRGB カラー値 と比較します。
カラー形式濃い肌明るい肌青空青い花青緑
Hex#735244#c29682#627a9d#576c43#8580b1#67bdaa
RGB 浮動小数点 0-10.450980 0.321569 0.2666670.760784 0.588235 0.5098040.384314 0.478431 0.6156860.341176 0.423529 0.2627450.521569 0.501961 0.6941180.403922 0.741176 0.666667
カラー形式オレンジ紫がかった青中間の赤黄緑橙黄色
Hex#d67e2c#505ba6#c15a63#5e3c6c#9dbc40#e0a32e
RGB 浮動小数点 0-10.839216 0.494118 0.1725490.313725 0.356863 0.6509800.756863 0.352941 0.3882350.368627 0.235294 0.4235290.615686 0.737255 0.2509800.878431 0.639216 0.180392
カラー形式マゼンタシアン
Hex#383d96#469449#af363c#e7c71f#bb5695#0885a1
RGB 浮動小数点 0-10.219608 0.239216 0.5882350.274510 0.580392 0.2862750.686275 0.211765 0.2352940.905882 0.780392 0.1215690.733333 0.337255 0.5843140.031373 0.521569 0.631373
カラー形式ニュートラル 8ニュートラル 6.5ニュートラル 5ニュートラル 3.5
Hex#f3f3f3#c8c8c8#a0a0a0#7a7a7a#555555#343434
RGB 浮動小数点 0-10.952941 0.952941 0.9529410.784314 0.784314 0.7843140.627451 0.627451 0.6274510.478431 0.478431 0.4784310.333333 0.333333 0.3333330.203922 0.203922 0.203922