OpenColorIO

概要

OpenColorIO(OCIO)は、Terragen 4.5 Professionalに統合されています。これは、開発環境の他のアプリケーションと一貫してカラー空間を操作出来るようにする業界標準のオープンソースライブラリです。

要件

  1. コンピュータにOCIOをセットアップします
    • OCIOを使用している会社で働いている場合、おそらく既に行われていると思われます。
    • OCIOを設定していない場合は、以下の手順に従って下さい。
      1. OCIO Webサイト からOCIO構成をダウンロードします。該当する「For~」のアイコンをクリックし、文中の"Downloads"のページの.zipリンクからダウンロードします。
      2. .zipファイルの内容をコンピュータに展開します。
      3. 使用する構成を決定します。aces_1.0.3の構成をお勧めします。それぞれの構成フォルダの中に"config.ocio"というファイルがあります。
        ACESとは、"Academy Color Encoding System"の略語で、映画芸術科学アカデミーの後援のもと、何百もの業界専門家によって作成されたカラー画像エンコーディングシステムです。
      4. システムにOCIOという環境変数を設定します。OCIO変数は、使用するconfig.ocioファイルのフルパスとファイル名を設定する必要があります。
        システム環境変数の設定は:
        コントロールパネル

        システムとセキュリティ

        システム

        システムの詳細設定

        環境変数

        新規、と進み、

        変数名を"OCIO"、変数値を"config.ocio"のフルパスを設定します(この場合、"H:\work\aces_1.0.3"フォルダ内の"config.ocio"を指定しています。)
  2. OCIOに影響する環境変数を変更した後、Terragenを再起動します。
  3. Terragenの[Project SettingS...]でOCIOを有効にします。
Terragenでは、プロジェクト(シーン)ごとにOCIOを有効または無効にする事が出来ます。メインウィンドウの左下にある[Project SettingS...]をクリックし、"Use OCIO"のチェックボックスをオンにします。

最初の考査

[Project Settings...]で"Use OCIO"を切り替えると、3Dプレビューが更新されます。お使いのコンピュータでOCIOが正しく設定されていれば、3Dプレビューでも色が変化するのが分かるはずです。この違いは微妙かもしれませんが、OCIOの構成と、"Rendering space"と"Display space"のデフォルトの選択に依存します。
"Use OCIO"が有効になっている場合、レンダリングされた画像はレンダービューでも異なって見えるはずです。

パストレーサモードでレンダリングし、RTPモードで3Dプレビューを表示する場合は、3Dプレビュー枠の上部にある[Enable Path Tracing in the 3D Preview]ボタンを必ず有効にして下さい。

色空間の選択

Rendering space

"Rendering space"を変更する事は出来ますが、通常は"scene_linear"または"rendering"にする必要があります。前者の方が幅広いOCIO構成に対応している可能性が高く、Terragenはデフォルトでこれを選択しています。

Display space

"Display space"を変更する事は出来ますが、これはモニタに合わせて下さい。Terragenのデフォルトは、OCIO構成で指定されているディスプレイ/ビューのいずれかになります。多くの場合、これは"sRGB"ですが、何を使用すればよいか分からない場合は、OCIO構成を設定した人に確認して下さい。

Shader params (linear)

このパラメータは、一部の例外を除いて、ほとんどのシェーダのカラーパラメータで使用される色空間を選択する事が出来ます。これは大気パラメータには適用されず、他の一部のシェーダではRAWの色空間に固定されたパラメータがあります。詳細は近日中にこのドキュメントを更新します。

"Shader params (linear)"には、リニア色空間を選択する必要があります。Terragenのシーンファイルに保存されているRGB値は常にリニアで、カラーピッカーで色を編集する際にTerragenは自動的に2.2のガンマを適用します。

デフォルトでは、TerragenはOCIO構成の中からリニア色空間を見つけようとし、第一候補としてRec.709を使用します。適切と思われる色空間が見つかると、"linear_rec709"という名前の特別なビルトインロールにマッピングし、OCIO構成でその名前のロールが見つからない場合、Terragenは常にリストに追加します。このビルトインロールを使用する事で、標準化された名前がなくても、この色空間を持つさまざまなOCIO構成間でプロジェクトファイルを移植できるようにする事を目標にしています。間違った選択をした場合は、より適切なものを選択する必要があります。シェーダのパラメータ空間には、必ずリニア色空間を選択して下さい。

これをリニアRec.709以外の色空間に変更する場合は、サードパーティによって生成されたほとんどのアセットはリニアRec.709を想定して構築されている事を念頭に置いて下さい。

8-bit textures

このパラメータは、オプションで"convert to linear"を有効にしている『Image Map Shaders』で使用するう色空間を選択する事が出来ます。また、『Default Shader』の一部の画像でも使用されます。

デフォルトでは、TerragenはをOCIO構成の中から、"sRGB"と"texture"という単語が含まれている色空間を見つけようとします。見つかった場合は、"sRGB_texture"という名前の特別なビルトインロールにマッピングし、OCIO構成でその名前のロールが見つからない場合、Terragenは常にリストに追加します。このビルトインロールを使用する事で、標準化された名前がなくても、この色空間を持つさまざまなOCIO構成間でプロジェクトファイルを移植できるようにする事を目標にしています。間違った選択をした場合は、より適切なものを選択する必要があります。

v4.5.32で対応

  • OCIO構成で定義されたロールからレンダリング/作業スペースを選択する事が出来ます。デフォルトは、"scene_linear"です。例: "scene_linear (ACES - ACEScg)"。
  • OCIO構成で定義されたディスプレイ/ビューからディスプレイ/ビュー空間を選択する事が出来ます。デフォルトは、OCIO構成で定義されているディスプレイ/ビューのうち、"sRGB (ACES) "のようなものになります。
  • シェーダパラメータで使用する色空間(リニア色空間)を選択する事が出来ます。デフォルトは、"linear_rec709 "という名前の特別なビルトインロールが使用されます。これがOCIO構成で見つからない場合は、構成内の色空間の名前を調べて、適切な色空間を推測しようとします。
  • 8ビットテクスチャの読込み(通常はsRGB)を解釈するための色空間を選択する事が出来ます。デフォルトは、"sRGB_texture"という名前の特別なビルトインロールが使用されます。これがOCIO構成で見つからない場合は、"sRGB"と"texture"という単語を使用して適切な色空間を推測しようとします。
  • 3Dプレビューは、[Project Settings...]で"Use OCIO"を切り替えたり、色空間を変更すると更新されます。
  • レンダービューは、[Project Settings...]で"Use OCIO"を切り替えたり、色空間を変更すると更新されます。
  • HDRレンダリングは、"Rendering space"で選択されているパラメータを使用して解釈されます。
  • レンダリングのLDR (display)バージョンは、"Display space"で選択されているパラメータを使用して、HDR画像をトーンマッピングして変換した結果です。
  • レンダリングビューには、レンダリングされた画像のLDR (display)バージョンが表示されます。
  • LDRファイル形式(TIFFなど)に保存すると、LDR (display)バージョンの画像が保存されます。
  • EXRへの保存は、RAWのHDRレンダリングから直接保存されます。従って、EXRは、"scene_linear (ACES - ACEScg)"のように、"Rendering space"で選択されているパラメータに応じて解釈する必要があります。複数のアプリケーションによるOCIOワークフローでTerragenを使用している場合は、この手法が必要であると考えられます。

現在未対応

  • リニアテクスチャの色空間。現時点では、"data is linear "をチェックすると、画像が(レンダリングスペース内の)RAWデータとして扱われます。
  • シェーダやノードごとの色空間の選択。現バージョンでは、"convert to linear"がチェックされているすべての画像に対して同じように変換が行われ、シェーダの個々のカラーパラメータは変換可能かどうかが事前に定義されています。
  • 内部レンダリングとファイル出力の色空間を独立して選択。このオプションを追加するまで、EXRはレンダラーによって生成されたシーンのリニア値を使用して出力されます。

その他の考慮事項

デフォルトのシーン(特にデフォルトの大気)には、Rec.709(sRGB)のパイプラインとして選択された色を持っています。これらは、使用コンピュータのOCIO構成について知りません。例えば、ACES構成を使用している場合、空が緑色に見え過ぎている事が分かります。ACEScgの新しいデフォルトをいくつか考えてみますが、以下のような調整が便利かも知れません。

Terragenのトーンマッピングを使用したTerragenのデフォルトの大気。Terragenプロジェクトのカラーマネジメントを無効にします。上図は"Use OCIO"は無効。下図は"Use OCIO"を有効にし、"Display space"で"sRGB(ACES)"を設定。
  • 『Atmosphere 01』の[Main]タブにある"Bluesky horizon colour": グリーンのチャネルをわずかに減らして、ブルーの値よりもレッドの値に近づけます。彩度を下げたい場合は、単にグレースケールを0.25(135、135、135)にします。
    • 最新の推奨は(135、135、135)です。
  • [Tweaks]タブにある"Bluesky density colour": レッドのチャンネルを増やして、グリーンの値に少し近づけます。
    • 最新の推奨は(147、178、255)です。

Blueskyの調整が大気に対して行われたので、ACES色空間を使用したカラーマネジメントを使用したTerragenプロジェクトと、カラーマネジメントを無効にしたTerragenプロジェクトのレンダリングを比較してみましょう。

サンプル

下図の例では、TerragenのカラーマネジメントにAcademy Color Encoding System(ACES)構成プロファイルを使用しています。レンダリングサンプルを提供してくれたBastien Muller氏に感謝します。

ACES色空間を使用したFusion、Terragen、Nukeのビューポートを並べて比較する事が出来ます。
最終更新:2020年12月18日 15:52