Media & Entertainment Collection and Arnold キャンペーンMedia & Entertainment Collection and Arnold キャンペーン

チュートリアル / fieldjamのDesignVizエッセンス
第2回:リニアワークフローについて<その2>

2009.04.07

  • 3ds Max
  • カラー
  • チュートリアル
  • レンダリング
  • 建築・製造・広告

いろいろなワークフロー

世の中には人それぞれのワークフローがあります。長くCGの仕事をしていると、独自のものが染み付いているのでなかなか変えることができませんよね。そうであったとしても、とりあえず3つのワークフローを考えてみましょう。


1.3ds Maxでガンマを考慮していないワークフロー

linearworkflow_2_01.gif

3ds Maxのガンマ設定を行っていない、さらにディスプレイのキャリブレーションもしていない場合、一般的にこのようになります。特に、キャリブレーションを行っていないことは3ds Maxに限らず大きな問題ですね。

さて、元々3ds Maxでの作業は、内部的にリニアスペースで行われるようになっています。結果的には、このワークフロー自体(キャリブレーションを行っていれば)それほど問題ではないんです。ただ、レンダリング画像やマテリアルのプレビューをガンマ1.0のままディスプレイに送っているので、中間値が暗い状態で作業しているという点が気になります。

しかし、それを補完するためにライティングでバランスを取っているので、結果として満足のいく成果品ができているというのがこのワークフローです。

つまり、敢えてリニアワークフローを取り入れる必要は無いかもしれません。ワークフローを切り替えるのは結構大変で、特に目が慣れるのに時間が掛かります。この状況で満足できる絵を作っているということは、3ds Maxでの作業中に脳内ガンマ補正を無意識に行っている可能性がありますが、その状況からリニアワークフローに切り替えると、もの凄く違和感があります。(私も経験済みです)


2.純粋なリニアワークフロー

linearworkflow_2_02.gif

リニアワークフローの原則は、データ(マッピング画像、レンダリング画像など)や作業環境はすべてリニアスペース(ガンマ1.0)を保持し、ディスプレイ表示など他のデバイスへ出力するときに、適切なガンマ補正を行うということです。この方法は上級者向けで、そのような人だったらこの図を見ただけで独自にワークフローを組めるはずです。

このワークフローが高度な理由は、レンダリング画像の保存と、画像処理ソフトの作業ガンマをsRGB(Windows標準)とは異なるリニアスペースにしているため、ガンマやカラープロファイルを適切に処理する必要があるからです。


3.3ds Maxに限定したリニアワークフロー

linearworkflow_2_03.gif

そこでワンステップ置くために、ちょっと修正しました。3ds Maxでの作業はレンダリング画像、マテリアルのプレビューなども含めてリニアスペースで表示し、レンダリング画像を保存するときにガンマ2.2を焼き込むんです。そうすると、画像処理ソフトの作業ガンマも2.2のままで大丈夫ですし、sRGBと同じガンマなので(ディスプレイも)Windowsの他のソフトで表示しても明るさが異なってしまうこともありません。

こんなの本当のリニアワークフローじゃない!って言われると確かにそうなんです。しかし、3ds Maxでの作業はリニアワークフローになっているということが大切で、この構築ができないと何も始まりません。ここが理解できれば純粋なリニアワークフローも構築できるでしょう。


実験

少し理屈っぽいですが、ワークフローとガンマの関係を比較するための実験です。同じシーンを3ds Maxのガンマ設定なしの状況と、ガンマ設定2.2の状況でレンダリングしました。ちょっと混乱するかもしれませんが、なるべく分かりやすく解説します。

linearworkflow_2_04.gif標準スポットライト(減衰なし、強度1.0)で、50%グレー(RGB=128)のマテリアルを与えた平面を照らします。平面中央の光は減衰してないので、その部分はマテリアルのカラーでレンダリングされます。

linearworkflow_2_05.gif

同じものをレンダリングしたのに見た目が違いますね。そこで中央部のカラー情報を調べてみると、どちらもほぼ0.5のグレーになっています。

データとしては同じなのに見た目が違う???。原因は、3ds Maxがディスプレイに送っている情報の違いです。ここで得られる情報は、右上に[ガンマ:1.00]とあるように計算結果であるリニアスペースでのカラー情報です。3ds Maxのガンマを2.2に設定している場合、レンダリング画像は一時的に1/2.2でガンマ補正されてディスプレイに送られて表示されているため、このような現象が起こります。

これらの画像をhdr形式で保存します。この形式を用いると、レンダリング結果の見た目ではなく、ガンマに依存しない計算値そのもの(カラーピッカーで確認した数値)を保存することができます。そして、3ds Maxのガンマ設定が2.2の状態でアセットブラウザで表示してみました。おや?どちらも同じように見えますね。つまり、3ds Maxのガンマ設定がどうであれ計算上は同じなんです。
ということは...そうです、本来はこの状態のものを見ながら作業する必要があったのです。健気にも、3ds Maxはこれまで見ることができなかった暗い部分もせっせとレンダリングしていた訳で、その頑張りに気づいていなかったということはちょっとショックですね。


リニアワークフローの利点

実験のショックから立ち直るために、リニアワークフローに切り替えたいと思う人もいるでしょう。しかしワークフローを切り替えるには、しっかりとした理由が必要ですね。リニアワークフローを取り入れると、どのようなメリットがあるのか、代表的なものをまとめておきます。

1.レンダリングやマテリアルをリニアスペースで確認できる
3ds Maxのガンマとディスプレイのガンマを合わせていれば、ディスプレイに表示されるレンダリング画像はリニアスペースのものを見ていることになります。これまで見ていたものは、データ的にはリニアでも中間値が暗くなった表示だったのです。

2.光が物理的に正確
実験からも分かるように、かなり大きなメリットです。3ds Maxの光源は物理的に正確な特性を持っています。フォトメトリックライトは距離に対して逆二乗で減衰するのが決まりで、標準ライトでも自然に見せるためには何らかの減衰設定を行いますよね。これまでのレンダリング結果は、明るさの最大値/最小値は問題ないのですが、中間値が実際より暗くなっていました。計算上は光の減衰途中で、もう少し明るいはずなのにそれを見ることができなかったのです。この問題は、GIを用いたときにより大きな問題になります。リニアワークフローは、GIを使ってレンダリングしたのになんだかちょっと暗い、あまりリアルに見えないなぁという問題を解決するひとつの手段になります。

linearworkflow_2_06.jpeg右のHDRIをスカイライトとしてレンダリングしました。左下がLWF未使用、右下がLWF使用でガンマ2.2を焼き込んだものです。LWFを使用した方が、HDRIの状況をうまく反映できていることが確認できます。やはりLWF未使用だとコントラストが強すぎますね。

linearworkflow_2_07.jpeg

3.いろいろな出力形態に柔軟に対応
これは、なんとなくイメージできると思います。リニアワークフローでは、レタッチやコンポジット作業の最後に、各デバイスにあわせたカラープロファイル(ガンマも含めて)の変換を行います。最後までプロファイル変換を行わないので、画質の劣化を最小限に抑えることができます。特に、ひとつのレンダリング画像を印刷/WEB/映像など複数の状況に対応する必要がある場合は、リニアワークフローは理想的と言えます。


3ds Max限定のリニアワークフロー

今回は、純粋なリニアワークフローではなくsRGBのガンマ2.2を考慮した3ds Max限定のリニアワークフローを提案していますが、その場合は上記3に関して厳密に対応していないことになります。敢えてこのワークフローを提案する理由を以下に挙げます。

・3ds Max以外の環境を変える必要があまり無いので、導入が楽である。
・印刷業界では一般的なAdobeRGBのガンマがsRGBと同じ2.2であるため。
・テレビ規格のNTSC/PAL/SECAMのガンマも2.2。
・デジカメやスキャナなどの周辺機器がsRGB準拠なものが多いため。
・DICやPantoneなどの色見本のRGB値がsRGB上での値であるため。

いかがでしょうか?ガンマ2.2をターゲットにしておけば、多くの状況に対応できるし、1.0の環境よりも作業そのものが楽だと思います。前置きが長くなってしまいましたが、次回はいよいよ3ds Maxの具体的な設定を解説したいと思います。