2010年9月11日土曜日

最終カラー出力


こんにちは、柳村です。
今日は、最終カラー出力の3項目を解説をしたいと思います。
もし、デフォルト設定のまま何もいじらずに使われている場合は
設定をいじっていただくと、面白いかと思います。
特に、大域照明を使ったシーンではここをいじることによって
ライティングの苦労が大幅に軽減されるかもしれません。

本題の前に、modoのレンダリングされた画像というのは
HDR(ハイダイナミックレンジ)であるということを理解しておかなければなりません。
コンピュータの画面で表示できる色の数はR,G,Bがそれぞれ0~255の256段階なので1667万7216色まで表示できることになります。
そして、R,G,B全て0だと黒、R,G,B全て255だと白となるわけですが
これはLDR(ローダイナミックレンジ)と言います。

ではこれに対して、HDRはどうなのかと言いますと、
LDRで黒よりももっと暗い色や、LDRで白よりももっと明るい色を持つことが出来るデータです。

具体的には、HDRでは画面上では真っ白(R,G,Bが255)に見えている同じピクセルでも、
内部に輝度を保持しているため、同じ白でも明るさ(エネルギー)の違う白いピクセルなのです。

しかし、このレンダリングされた画像を汎用的なJPGやBMPやTGAなどというフォーマットで
保存すると、LDRとして保存されるために、どんなに輝度が高い白でもR,G,Bが255の同じ白として
収まらないデータは切り捨てられてしまいいます。
(OpenEXRではHDRデータとして画像を保存できますが、HDR画像を扱えるアプリケーションが必要です。Photoshopなど)

せっかくHDRでレンダリングされているのに、ちょっともったいないですね!



そこで、modoにはHDR画像を扱えるアプリケーションが無くても、modo内で画像を調整できるように
最終カラー出力の設定にいくつかの項目があります。

まずホワイトレベルですが、レンダリング画像の中にある白のうち、指定した輝度を持った白を
LDRの白(R,G,B=255,255,255)にするかを決める項目です。
値を上げれば画像は暗くなり、下げれば明るくなります。
GIレンダリングなどで白飛びしてしまっていても、ホワイトレベルを上げていくと
白飛びしていた箇所にディティールが現れてきます。

次にトーンマッピングですが、これは使い方に注意が必要です。
簡単に言うと、レンダリング画像の一番暗い部分と一番明るい部分の差を極限値として
影やハイライトの部分にもディティールが現れるように階調を圧縮してしまう機能です。
ホワイトレベル同様、白飛びしている箇所にもディディールが現れますが
あまり強くかけると、コントラストが平坦になり不自然な結果になる場合があります。
ホワイトレベルとセットでちょうどいい具合を探さなくてはいけません。
私の場合は、白飛びしている画像でもホワイトレベルは低めで白飛びがある程度残るように設定し、
トーンマッピングをかけてディティールを出す場合があります。
要は、レンダリング画像内の輝度の差が低いときにトーンマップを大きくかけると、
へんてこりんな画像になるため注意が必要です。
また、トーンマッピングを使う場合は、カラーのクランプは使用してはいけません。
カラーのクランプを使用した場合、LDR範囲外にあるHDR内のカラー情報が失われるために
正しい結果にならないようです。

最後にガンマですが、画像全体の中間色の明るさを調整するものです。
値を下げれば暗くなり、上げれば明るくなります。
高い数値になるほど、画像が眠くなってきますので注意が必要です。

リニアワークフローにおけるガンマ値の設定では、
最近のコンピュータがsRGB環境にあるので2.2が正しいガンマ値となります。
ただし、ディスプレイモニタのガンマも2.2に調整されていることが必須条件です。
でないと、正しい階調で画像を見ることができません。
しかし、時としては屋外パースなどのレンダリング画像でガンマ値2.2では眠すぎるときがあります。
正しいデータとして保存し、Photoshopなどでコントラストなどの調整をするのも1つですが
結局後で調整するのならば、modoのガンマ値で調整してしまうほうが手っ取り早い気もします。
また、先ほどのホワイトレベル・トーンマッピングと合わせてガンマ値を調整することで
すっきりした画像の作成がmodo内で完結できます。
常用範囲としての目安は私の感覚では1.2~2.4くらいではないかと思います。

ぐだぐだ書いてしまいましたが、画像の仕上げ段階のガンマ値は
簡素に言えば、画像を引き締める、あるいはダルくする機能という認識でもいいんじゃないでしょうか。

0 件のコメント:

コメントを投稿