On this page |
概要 ¶
Houdiniのようなコンピュータプログラムは、内部的にリニアカラー空間で動作させる方がデジタル的に制御しやすいので望ましいです。 リニアカラー空間は、最終画像、プリントフィルム、ディスプレイなどを 知覚 カラー空間(ガンマ補正/カラー補正)で出力するのによく好まれます。 Houdiniのカラーマネージメントは、Houdiniと実世界の狭間で、必要に応じてリニアカラー空間と知覚カラー空間の変換を行ないます。
OpenColorIO(OCIO)は、カラー空間の管理と変換を行なう業界標準のオープンソースライブラリです。
OCIOは、Houdiniのデフォルトのガンマとルックアップテーブル(LUT)がサポートしている以上に強力で柔軟性があり、プロ仕様で推奨します。
セットアップ ¶
-
$OCIO
環境変数にOpenColorIOコンフィグファイル(例えば、config.ocio
)のファイルパスを設定します。この環境変数の有無で、Houdiniが自動的に色々な箇所でOCIOを使用するかどうか制御します。
-
OCIO_ACTIVE_DISPLAYS
とOCIO_ACTIVE_VIEWS
の環境変数を使用することで、デフォルトのカラー空間を設定することができます。 -
sRGBファイルとソースに関しては、sRGBに使用するソースカラー空間は、Houdiniの
HOUDINI_OCIO_SRGB_FILE_COLORSPACE
環境変数によって定義します。この変数が定義されていない場合、完全または部分的にcolorspaceがsrgbに合致したOpenColorIOコンフィグファイルが検索されます。 -
Edit ▸ Color Settings ウィンドウで、色々な形式のOCIOサポートを設定することができます。
Note
OCIO
、OCIO_ACTIVE_VIEWS
、OCIO_ACTIVE_DISPLAYS
の環境変数は、Houdiniの環境変数ではありません。
これらの環境変数は、Aliases and Variablesダイアログからもhoudini.env
ファイルからも設定することはできません。
Houdiniを起動する前にシェルまたはデスクトップ環境から設定する必要があります。
画像入力 ¶
-
テクスチャ画像は、HoudiniやMantraではリニアとして扱われます。必要に応じて、OCIO Color Transform VOPを使って手動でテクスチャを変換することができます。
-
OCIOを設定し、カラーをリニアにするように
File COPを設定した場合、File COPは、そのOCIOファイルの命名規則を使って、入力画像のカラー空間を推定して、そのカラーを正しくリニアにします(さらに、これは自動的に出力を16ビットに切り替えて帯ノイズを回避します)。
レンダー出力 ¶
-
Mantraのレンダリングはリニア空間です。
-
ビューポートのフリップブックは、“Render Beauty Pass Only”オプションに応じて、sRGBまたはリニアのどちらかになります(有効の時はリニア、無効の時はsRGB)。
-
Render Viewの画像は、OCIOを使ってカラー補正をすることができます。
Render Viewの下部にデフォルトでCorrectionツールバーが組まれています。その組み込みバーをクリックすると、ビューエリアの下にそのツールバーが表示されます。OpenColorIOが有効になっていると、Houdiniは、そのCorrectionツールバーのデフォルトのガンマとLUTコントロールをOCIOコントロールに置換します。
-
Render Regionツールの出力は、OCIOを使ってカラー補正をすることができます(これは、 Edit ▸ Color Settings ウィンドウで切り替えることができます)。
ディスプレイのカラー補正 ¶
-
OpenColorIOが有効になっていると、Scene View、Render View、MPlayはOCIOを使ってディスプレイをカラー補正することができます。
OCIOが有効になっていると、Houdiniは、CorrectionツールバーのデフォルトのガンマとLUTコントロールをOCIOコントロールに置換します。
-
Scene Viewでは、Viewportメニュー(ビューポート右上のCameraメニューの左側にあるメニュー)を開いて、 Correction Toolbar を有効にすると、ビューアの下部にColor Correctionツールバーが表示されます。
-
Render Viewでは、ビューの下部にデフォルトでCorrectionツールバーは組まれています。その組み込みバーをクリックすると、ビューエリアの下にそのツールバーが表示されます。
-
-
OpenColorIOが有効になっていると(
$OCIO
がコンフィグファイルを指していると)、インターフェース内のガンマとLUTのコントロールが、 Display と View のメニューで置換されます。これらのメニューは、ディスプレイの出力カラー空間を定義します。Houdini内のカラー空間はリニアで、scene_linear
ロールには、OpenColorIOリニアカラー空間を指定します。例えば、OCIOが有効になっていると、Scene ViewのColor Correctionツールバー( Viewportメニュー ▸ Correction Toolbar )にOCIOコントロールが追加されます。
-
MPlayは、OpenEXR(リニア)などのリニアファイルやJPEG(sRGB)などのノンリニアファイルのどちらも読み込むことができます。
カラー空間の推測 ¶
(例えば、3Dビュー用のDisplay Options、または、レンダーノードの背景プレートで)背景画像として使用するファイルを参照する時、そのファイル名に画像のカラー空間名を埋め込むことができます。
例えば、myimage-aces-cg.jpg
とかmyimage-srgb.exr
です。
OCIOは、ファイル名からカラー空間名を見つけることができなかった場合、画像フォーマットからカラー空間を推測します。
JPEG, PNG, Targa, その他の8ビットフォーマットは、sRGBカラー空間であると推測されます。
EXR, RAT, HDRのフォーマットはリニアであると推測されます(ACES-1.0.3プロファイル内のscene-linear
ロールに割り当てられているカラー空間がACES-Cgなので、そのカラー空間が使用されます)。
追加サポート ¶
Edit ▸ Color Settings ウィンドウでは、色々な機能に対してOCIOの使用を切り替えることができます。
-
(OCIO命名規則が使われた画像に対して)Color Editorでピックした画像のカラーは、OCIOを使ってリニア化することができます。
-
コンポジットネットワーク内のノードプレビューサムネイルは、OCIOを使ってカラー補正することができます。
-
OCIO Color Transform VOPは、手動でカラー変換を行ないます。Import Properties from OpenColorIO VOPは、OCIO変数にアクセスすることができます。
-
OCIOライブラリを使って、手動によるカラー変換、テクスチャルックアップ、内観を行なうためのVEX関数がいくつか用意されています。
-
hou.Color、hou.Vector3、hou.Vector4は、PythonスクリプトでOCIOを使ってトランスフォームするためのメソッドを持っています。