OpenColorIO でのカラー マネジメント

OpenColorIO を使用して、プロジェクト間でカラーの一貫性を確保する方法について説明します。

Choose your operating system:

Windows

macOS

Linux

OpenColorIO OCIO, は映画やバーチャル プロダクションで主に使用されるカラー マネジメント システムです。OCIO により、撮影されたビデオのカラーの一貫性が、フィルム パイプライン全体で維持されます。このパイプラインには、最初のカメラでの撮影から、撮影されたメディアで作業するために必要なすべてのコンポジット アプリケーションを含め、最終レンダリングまでが含まれます。

Unreal Engine (UE) には OCIO がビルトインでサポートされ、次の複数の方法でリニア メディアのカラーを変換します。

  • 撮影されたクリップやライブ フィードなどのメディア ソースをプロジェクトで使用するとき、カラー変換を適用して、これらのメディア ソースを UE のコンピュータが生成した要素に一致させます。

  • Unreal Editor で作業している間、ビューポートにカラー変換を適用できます。これが便利なのは、エディタで作業しているときに、表示される参照フレームと、選択した色空間との一貫性が維持されることです。

  • 別のカラー変換を、Composure から出力するコンポジットフィードに再度適用できます。これが便利なのは、CG 要素とライブ フレームをブレンドするとき、撮影した元のカラーを忠実に再現しながら、納得するものを実現できることです。

  • 最後に、ムービーレンダーキューでビデオをエクスポートするとき、色空間変換を出力ビデオに適用するように選択できます。

これらすべての OCIO の使用は、新しい種類のアセット OpenColor Configuration Asset が必要で、作業するカラー プロファイルを管理するために使用します。開始する準備ができたら、次の「 OCIO をセットアップする 」の手順を実行します。

OCIO をセットアップする

この手順では、UE で OpenColorIO Plugin を有効にし、 OpenColor Configuration アセット OCIO コンフィギュレーション ファイル から作成します。

前提条件:このステップでは OCIO コンフィギュレーション ファイルが必要です。このファイルには、複数のカラー プロファイルに関する詳細仕様、それらの間で変換する方法が含まれます。プロダクションで OCIO をすでに使用している場合、必要なカラー プロファイルでコンフィグ ファイルをセットアップしている場合もあります。セットアップしていない場合は、サンプル ファイルを こちら からダウンロードできます。

ステップ

  1. OCIO コンフィグ ファイルを使用プロジェクトの「 Content 」フォルダに配置します。

    コンフィグ ファイルを「Content (コンテンツ)」フォルダに直接コピーしたとき、UE では .ocio ファイル拡張子を認識できないなどの警告が表示されることがあります。警告が表示される場合、Windows のエクスプローラーで、プロジェクトの「Content (コンテンツ)」フォルダに OCIO コンフィグ ファイルをコピーします。

  2. Unreal Editor のメインメニューで、 [Edit (編集)] > [Plugins (プラグイン)] を選択します。

    OCIO_EditPlugins.png

  3. [Plugins (プラグイン)] ウィンドウで、 OpenColorIO プラグインを見つけ、 [Enabled (有効)] をオンにします。

    OCIO_PluginSearchOpen.png

    注:注意:UE の使用バージョンにより、OpenColorIO プラグインがデフォルトで有効になっている場合もあります。

  4. 確認メッセージが表示されたら、 [Yes (はい)] をクリックします。

    OCIO_PluginBetaOptIn.png

  5. [Restart Now (今すぐ再起動)] をクリックしてエディタを閉じ、新しいプラグインを有効にして再起動します。

    OCIO_PluginReset_RAW.PNG

  6. エディタに戻り、 コンテンツ ブラウザ でコンフィギュレーション アセットを作成するフォルダに移動します。 コンテンツ ブラウザ で右クリックして、 [Miscellaneous (その他)] > [OpenColorIO Configuration] を選択します。

    OCIO_CreateConfigFile_RAW.PNG

  7. 使用するコンフィギュレーション ファイルに対する新しいアセットにわかりやすい名前を付けます。

    OCIO_NamedAsset_RAW.PNG

  8. 新しいアセットをダブルクリックして、設定を編集します。

    クリックしてフルサイズ表示。

  9. [Configuration File (コンフィギュレーション ファイル)] 設定で、ブラウズ ボタンをクリックして、プロジェクトの「Content (コンテンツ)」フォルダに配置される OCIO コンフィギュレーション ファイルを選択します。

    クリックしてフルサイズ表示。

  10. [Desired Color Spaces (希望する色空間)] 設定で、 [+] ボタンをクリックして、新しいエントリをリストに追加します。

    OCIO_AddColorSpaceToAsset.png

  11. 新しいエントリで、ドロップダウン リストを開き、UE で使用するコンフィグに定義されている色空間の 1 つを選択します。

    クリックしてフルサイズ表示。

  12. 使用する各カラー プロファイルに対して直前の 2 つのステップを繰り返してから、アセットを 保存 します。

    OCIO_SaveOCIOAsset_RAW.png

    UE で実際に使用する必要があるカラー プロファイルだけをセットアップします。これにより、コンフィギュレーション アセットをできるだけ軽量に維持できます。

最終結果

OCIO プラグインを有効にして、コンフィギュレーション アセットを作成したので、ビューポート、Composure、ブループリント、ムービーレンダーキューで色を変換する準備ができました。詳細については、以下のセクションを参照してください。

メディア要素を Composure で変換する

この手順では、Composure 向けの新規トランスフォーム パスを作成する方法を示し、トランスフォーム パスをセットアップし、要素のメディア ソースの色空間を 1 つのカラー プロファイルから別のカラー プロファイルに変換します。

前提条件:ビデオ ファイルやライブ SDI フィードなど有効なメディア ソースとともに、Composure 要素をセットアップする必要があります。詳細については、「 リアルタイム コンポジット クイックスタート 」ページを確認してください。

ステップ

  1. Composure 要素を選択し、Composure 要素の新しいトランスフォーム パスを追加します [Transform/Compositing Passes (パスをトランスフォーム/コンポジットする)] 設定で、 + ボタンをクリックして、新しいパスをリストの最後に追加します。

    OCIO_AddTransformPass.png

  2. 新しいトランスフォーム パス設定で、ドロップダウン リストから [Compositing Open Color IOPass (OCIO をコンポジット)] を選択します。

    OCIO_SelectTransformPassType.png

  3. トランスフォーム パスの設定を展開して、 [Color Conversion Settings (色の変換設定)] を展開します。

    OCIO_ExpandConversionSettings.png

  4. [Configuration Source] 設定で、OCIO コンフィグ ファイルから作成した OCIO コンフィギュレーション アセットを選択します。

    OCIO_ColorConversionSelectOCIO.png

  5. [Source Color Space (変換元の色空間)] 設定を、変換元のカラー プロファイルに設定します。これは一般にメディア ソースがキャプチャされた本来の色空間です。

    OCIO_SetSourceColorSpace.png

  6. [Destination color Space (変換先の色空間)] 設定を、変換先のカラー プロファイルに設定します。通常は [Linear (リニア)] を使用して、メディアを UE のリニア色空間に一致させます。

    OCIO_SetDestinationSolorSpace.png

最終結果

トランスフォーム パスのソースおよび宛先色空間をセットアップした後すぐに、Composure 要素のプレビュー、およびレベル ビューポートでメディア ソースの色がすぐに変わるのがわかります。

Composure でメディア出力を変換する

このプロセスで、1 つの OCIO カラー プロファイルから別のものにコンポジット メディアの色を変換する新しいカラー補正パスで、Composure から出力をセットアップします。

前提条件:前提条件:出力とともに Composure をセットアップする必要があります。

ステップ

  1. [World Outliner (アウトライナ)] で、 コンポジット要素 を選択します。

    OCIO_SelectLayerElement_RAW.PNG

  2. [Details (詳細)] セクションで、 [Composure] の下にある [Output (出力)] カテゴリを展開します。

    OCIO_ExpandOutput.png

  3. [Outputs (出力)] 行にある、 [+] ボタンをクリックして、新しい要素を追加します。

    OCIO_NewOutput.png

  4. 新しい要素を展開し、 [Capture Output (キャプチャ出力)] の隣にあるドロップダウンを展開し、対象出力を選択します。

    OCIO_SelectOutput.png

    この段階で、新しい出力要素の隣にある [Preview (プレビュー)] をクリックできます。これによりプレビュー ウィンドウが開き、保存する前に出力をプレビューできます。

    OCIO_OpenPreview.png

  5. [Color Conversion] を展開し、ドロップダウンから、 [Compositing Open Color IOPass] を選択します。

    OCIO_SelectColorConversion.png

  6. [Color Conversion Settings] を展開してから、 [Configuration Source] ドロップダウンで OCIO アセットを選択します。

    OCIO_SelectOCIOAssetinOutput.png

  7. [Source Color Space] 設定を、変換元のカラー プロファイルに設定します。通常は [Linear (リニア)] を使用して、メディアを UE のリニア色空間に一致させます。

    OCIO_OutputSelectSourceColorSpace.png

  8. [Destination color Space] 設定を、変換先のカラー プロファイルに設定します。結果を表示するために必要なモニター、必要な別の宛先色空間に一致するように通常設定します。

    OCIO_OutputSelectDestinationColorSpace.png

ブループリントで色を変換する

色を変換するのに Composure は必ずしも必要ありません。ブループリント ノードを使用して、入力テクスチャ (ビデオ ソースを再生する MediaTexture を含む) で色を変換でき、RenderTarget で変換された結果が得られます。

ステップ

  1. 新しいブループリント クラスを コンテンツ ブラウザ で作成します。

    OCIO_NewBlueprintClass_RAW.PNG

  2. [All Classes (すべてのクラス)] メニューを展開し、検索バーを利用して、 EditorUtilityActor アクタ クラスを見つけ選択します。

    OCIO_BlueprintClassSelection.png

    この目的のために、ティックを実行する任意の BP アクタを使用できます。この例では、 EditorUtilityActor を使用することにしました。

  3. 新しいブループリント クラスの名前を適切に変更します。

    OCIO_BlueprintRename_RAW.png

  4. ブループリント クラスをダブルクリックして開き、 イベント グラフ に移動します。

    クリックしてフルサイズ表示。

  5. [My Blueprint (マイ ブループリント)] で、 [Variables (変数)] > [Components (コンポーネント)] に移動します。

    OCIO_MyBlueprintVariables_RAW.PNG

  6. [Variables (変数)] 行にある [+ 変数] ボタンをクリックし、新しい変数を作成し、名前を「 InputTexture 」に変更します。

    OCIO_RenameVariableInputTexture.png

  7. 名前を変更したら、新しい変数の右にある「目の形」のボタンをクリックし、すべての空間に公開します。

    OCIO_InputTexture_MakePublic.png

  8. [Details (詳細)] パネルで、新しい変数に対する変数の型を [Object Types (オブジェクトタイプ)] > [Texture] > [Object Reference (オブジェクト参照)] で設定します。

    OCIO_ChangeVariableType.png

  9. 2 つの変数 OutputTexture (変数の型で、 [Texture Render Target 2D] > [Object Reference] を指定) および ColorConversionSettings (変数の型で、 Open Color IOColor Conversion Settings を指定) を作成します。作成した後、必ず Public にします (「目の形」のアイコンをクリック)。完了すると、変数リストは次のようになります。

    OCIO_VariablesRecap.png

  10. InputTexture 変数をイベント グラフにドラッグして、 Get InputTexture を選択します (新しい InputTexture ノードを作成)。

    OCIO_GetInputTexture.png

  11. OutputTexture と ColorConversionSettings の各ノードにも同じ手順を繰り返します。イベント グラフは次のようになります。

    OCIO_VariablesInEventGraph_RAW.PNG

  12. イベント グラフを右クリックして、新しい Apply Color Space Transform ノードを追加します。

    OCIO_AddApplyColorSpaceNode_RAW.PNG

  13. 元からある Event Tick ノードの出力ピンから Apply Color Space Transform ノードの入力ピンにつなげます。

    OCIO_ConnectEventTickToApplyColor_RAW.png

  14. Input Texture ノードを Apply Color Space Transform ノードの Input Texture ピンにつなげます。Output Texture ノードを Output Render Target ピンにつなげます。最後に Color Conversion Settings ノードを Conversion Settings ピンにつなげます。完了したら、イベント グラフは次のようになります。

    OCIO_ConnectedNodesRecap_RAW.png

  15. ブループリントをコンパイルして、保存します。

  16. メインのエディタ ビューに戻り、ブループリント クラス アセットをレベルにドラッグします。

    クリックしてフルサイズ表示。

  17. ブループリント クラス アセットをワールド アウトライナーで選択します。[Details (詳細)] パネルで、[Default (デフォルト)] セクションを展開し、[Input Texture] ドロップダウンから対象の入力ファイルを選択します。

    OCIO_SelectInputTexture.png

  18. 新しい Render Target アセットをコンテンツ ブラウザ内で作成します。

    OCIO_NewRenderTarget_RAW.PNG

  19. 新しいレンダリング ターゲット アセットを開き、[Texture Render Target 2D (テクスチャーレンダーターゲット2D)] の [Size X] と [Size Y] のスライダで、アセットのサイズを適切に設定します (この例では 512 x 389)。アセットを保存して閉じます。

    クリックしてフルサイズ表示。

  20. 新しいレンダリング テクスチャ アセットをブループリント クラス アセットの [Output Texture] フィールドに適用します。これを実行するのに、 [Use Selected Asset from Content Browser (コンテンツブラウザから選択したアセットを使用)] ボタンを使用またはドロップダウンから選択します。

    OCIO_SelectingOutputTexture.png

  21. [Details (詳細)] パネルで、 [Color Conversion Settings (色の変換設定)] セクションを展開します。OCIO コンフィギュレーション ファイルを [Configuration Source] の隣にあるドロップダウンから選択します。

    OCIO_SelectingOCIOConfig.png

  22. [Source Color Space (変換元の色空間)] [Destination Color Space (変換先の色空間)] を調整して、期待する結果に一致させます。

    OCIO_SetColorSpaceAndDestinationColor.png

  23. そこからレンダリング ターゲット アセットをレベルにドラッグして、アクタ (平面など) に適用して、メディアをプレビューします。引き続き [Source Color Space] と [Destination Color Space] 設定を調整して、異なる出力をプレビューできます。

ビューポートで色を変換する

OCIO プラグインを有効にすることにより、OCIO コンフィギュレーションを直接 ビューポート 内で適用する機能を利用できます。プラグインを有効にした後、新しい [Color Management (カラー マネジメント)] セクションが ビューポートの [View Mode (表示モード)] に追加されます。

OCIO_OCIOViewportSettings_RAW.PNG

[OCIO Display] セクションを展開すると、調整できる 4 つの設定があります。

設定名

目的

Enable Display (表示を有効にする)

色変換の表示を切り替えます。

Select an OCIO Asset (OCIO アセットを選択)

UE が色空間を取得するために使用するアセットを選択します。

Invalid (Source color profile)

変換元のカラープロファイル。

Invalid (Output color profile)

変換先のカラー プロファイル。

これらの設定を調整したら、ビューポートは トーン カーブ を無効にして、色変換をレンダリングのポストプロセスステージに挿入します。UE がトーン マップを適用したあと、他を適用する前に、これを正しく実行します。

nDisplay での OCIO

nDisplay での OCIO 色空間のサポートを有効にするには、対象の OCIO コンフィギュレーションを共有する nDisplay ビューポートのグループごとに OCIO Scene View Extension (SVE) を作成する必要があります。作成したら、適用先である nDisplay ビューポートの種類を指定するアクティベーション関数をこれらの SVE に指定する必要があります。nDisplayCluster API は、対象のビューポート ID の配列に対するアクティベーション関数を提供することで、これを支援できます。この API を Viewport ID/名前の空の配列に指定すると、それらすべてに適用されます。

nDisplay の詳細については、「 nDisplay の概要 」を確認してください。

nDisplay の各ビューポートに異なる OCIO コンフィグが必要な場合、各 Viewport ID に OCIO SVE が必要です。どのようになるのかの例を次に示します。

OCIO_nDisplayExample_RAW.png

「Create OpenColorIO Display Extension」が作成する OCIO SVE オブジェクトを、ガベージ コレクションを回避するために、変数に昇格する必要があります。

ムービーレンダーキュー内で OCIO を使用する

ムービーレンダーキュー (MRQ) は、オフラインで表示できる、品質のレンダリングを作成する強力なツールです。このような高品質のビジュアルに重点をおくため、自然なのは、OCIO コンフィギュレーションを使用して、MRQ プロジェクトで一貫性を確保することです。

MRQ の詳細については、「 ムービー レンダー キューを使用して高品質なレンダリングを行う方法 」ドキュメントを参照してください。

MRQ 内部から OCIO 機能を使用するには、 [Settings (設定)] メニューを展開し、 [Color Output (カラー出力)] を選択します。

クリックしてフルサイズ表示。

レンダリング設定を調整した後、カラー出力を調整できます。

クリックしてフルサイズ表示。

OCIO コンフィギュレーションを有効にした後、ニーズに合うように設定を調整できます。MRQ 内での OCIO 設定の詳細については、次の表を参照してください。

設定名

目的

IsEnabled

OCIO 色変換を有効にします。トーン カーブは無効にされ、下のオプションはグレーアウトされます。

Configuration Source

コンテンツ ブラウザで作成された OCIO Config Miscellaneous ブループリント。

Source Color Space

変換元のカラープロファイル。

Destination Color Space

変換先のカラー プロファイル。

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる