SSブログ
-4: Leigh 03 ブログトップ

Texturing For Dummies Part 3: Diffuse(拡散レベル)の重要性 [-4: Leigh 03]

© Leigh van der byl. All rights resrved.

え?!ディフューズはカラーじゃないって??!!

私はディフューズが実際にはカラーではないとわかったときは、とてもショックでした。私が使っていた他の多くのソフトウェアでは、そう信じさせられていましたから。

でも、カラーじゃないなら、何なの?

それはカラーとともに何かを行いますが、実際のカラーそのものではありません。実際には、ディフューズは、極めて不可欠なオブジェクトのサーフェス属性で、光を拡散します。なので、ディフューズは基本的にはサーフェス属性で、サーフェスが光をどの程度反射するか、同様にどの程度吸収するかを決定します。ディフューズは、サーフェスのカラーがどの程度私達に見えるかを決定します。これを理解するために物理学の学位は必要ありません。我々の目は、光は我々の周りの世界の全ての物に反射するため、純粋に物を見ることができます。単純に、日光を我々の小さな目の中に入れ、情報は脳で処理され、物が見えます。暗闇で物が良く見えないのはそのためです。そこには、ほとんど光の跳ね返り(バウンス)がありません。我々がほんの少し見えるものは、ファジーです。それは、低い品質の光が原因です。

少し横道にそれてしまいましたが、私はここで何故グローバルイルミネーション(GI)は重要なのかを述べたいと思います。では、グローバルイルミネーションとラジオシティについてあまり知らない人のために、ちょっとややこしい説明をしましょう。ラジオシティは、技術的には、単位面積当たり、単位時間当たりサーフェスに残っている放射(radiation)の量として定義されます。基本的には、私達のような単なるアニメーターにとっては、ラジオシティは周りから跳ね返ってくる光の効果です。いいかえれば、それはあらゆる環境のオブジェクトからばらまかれる間接光です。

簡単に説明しましょう。テーブルがあって、ライト(例えば、ポイント/オムニライト)がその上(テーブルの真上の天井)に設置された空(から)の部屋という簡単なシーンを作ります。ラジオシティ無しなら、もしもあなたがこのシーンをレンダーしたら、テーブルの下は真っ暗になります。でも、現実の世界ではそうなりません。空の部屋にテーブルを置いて、電球をテーブルの上の天井から吊るします。実際には、あなたは、テーブルの下が間違いなく見えると知るために、こんなことをする必要はありません。何故でしょう?

なぜなら、電球からの光は、壁に跳ね返り、床にあたり、床から上に戻り、そしてテーブルの下を照らします。実際、面白いことにあなたの周りの多くの光は、間接光からのものであって、光源そのものからのものではありません。

ラジオシティは、多分、フォトリアリスティックレンダリングのためのもっとも重要な要素です。それ(ラジオシティ)は、あなたのシーンに環境光を与え、平坦に見えないようにします。現実世界の効果なので、あなたのレンダリングには必要不可欠のものです。

つい最近まで、ほとんどのアニメーターは、シーンに100から200のポイント(オムニ)ライトが注意深く設置された、複雑なライトの設定から構成される擬似ラジオシティを行わねばなりませんでした。通常、設定はコーンのような形をした、コンサートのライトの設定と似た感じです。明らかにこれは素晴らしい方法ではありません。我々アニメーターは多すぎるオムニライトはときどき平坦な見た目になってしまうことを知っているからです。同じことが起こります。しかし、ほとんどのCGソフトが持っている環境光(ambient light)オプションを使うとより悪いものになります。もしもあなたが本当に光の設定を適切に行いたいなら、環境光は使わないでください。完全にオフにしてください。ほとんどのプログラムでは、環境光は、デフォルトでオンになっています。なので、あなたのソフトの環境光を設定する箇所を見つけて、オフにしてください!!オフにするために、グローバルイルミネーションの設定パネルを開いて、環境光を調整します。

私がこういったことを述べているのは、ラジオシティ無しでは、ディフューズが加えられたサーフェスがうまく働かないからです。代わりに、とても暗くなります。本来の目的に戻りましょう・・・

えっと、どこまで行きましたっけ?そうだ、私はディフューズが、サーフェスの色がどれだけ私達に見えるかを決め、なぜなら、それはどれだけの光がサーフェスに反射され、そして吸収されるかをコントロールするからってことを説明しているところでした。これは反射や鏡面反射と同じように聞こえるかもしれませんが・・・これらの違いを簡単に説明させてください。先に言ったとおり、ディフューズは、どれだけの光線をサーフェスに残すかをコントロールしますが、それに対して反射と鏡面反射は、サーフェスが実際の光線自体をどれだけ反射するかをコントロールします。無難に言えば、ディフューズは、実際は、反射と鏡面反射の反対です。同様に、不透明度は、透明度の反対です。ディフューズは光の拡散を参照し、対して鏡面反射はそれらの反射と一緒に働きます。

なので実際のところ、オブジェクトのディフューズ調整によって、あなたは光によってサーフェスから反射された色の量をコントロールします。これは、単純にオブジェクトそのもののサーフェスを暗くするのとは全く違います。もしもカラーマップを使って実際のイメージを暗くするなら、あなたには色の変化だけが見え、色の深度の変化は見えません。

色の深度は、オブジェクトのサーフェスを通る拡散光によってつくられます。人の皮膚を見てください。深度があることがわかるでしょう。カラーは、単純な連続的な影ではなく、むしろ、拡散光によってつくられる多くの似た影です。この品質は、カラーマップだけでつくることはできません。カラーマップだけでは、ディフューズマップが可能とするような豊かさを、サーフェスに与えることはできません。もちろん、拡散光に関して、半透明性は、その他の重要な属性なポイントであることは覚えておかねばいけません。半透明性は、どうやって光がサーフェスを通り抜けるかを決め、そして、サブサーフェススキャッタリングとともに、サーフェスの内部で拡散されます。しかし、半透明性について、詳しくは後の章でお話します。

ディフューズはまた、ライトそのものとしても使われます。映画や写真のスタジオ経験者の皆さんは、ライトの前に、乳白色で、やや半透明のプラスチックシートが必要なことをご存知かと思います。これらは、基本的にディフューズのスクリーンです。それらは、ライトの品質を変え、ライトをあてたオブジェクトのギラつきを抑えるためのものです。これは、まさに、私達がオブジェクトのディフューズを調整するときに行っていることです。私達は、サーフェスのカラーの彩度が過度になることを抑えています。

これでディフューズが何であるか、どうやって正確に使うかを理解しましたね?

ディフューズを実践する

あなたはどうやってディフューズマップをつくりますか?まず最初に、ほとんどの他のイメージマップと同じで、ディフューズマップの効果は、異なるグレーの影を使ってつくられます。そして、サーフェスの属性にグレースケールイメージを使うときは、白は常に属性の正値(positive value)をあらわし、逆に黒は効果なしであることをあらわすことに留意してください。グレーの影が明るいほど、サーフェスにディフューズがかかります。そして明らかに、サーフェスにディフューズがかかるほど、光が反射され、カラーの情報が私達の目に運ばれ、更にカラーが見えるようになります。

これを知ると、サーフェスのディフューズの量を決めるというややこしいことに直面します。一般的なルールとしては、100%のディフューズというのは絶対にありません。実際、ほとんどのものは、80%か、それ以下のディフューズ量です。

100%のディフューズはないので、そのままの量では、光の作用はリアルではなくなります。
この結果、あなたのオブジェクトは彩度過多に見えます。なぜなら、あなたのオブジェクトの実際の色は、光によって彩度過多になるからです。明らかに、光無しでは、ディフューズによる違いは出ません。しかし、シーンに光を加え、オブジェクトを照らせば、光はオブジェクトのサーフェスにあたり、サーフェスをどれぐらい輝くように設定したかにより、光のホットスポットが作られます。もしもオブジェクトが100%のディフューズになっていたら、そのホットスポットは、サーフェスのカラーに乗算され、同様にそれ自体のカラーもサーフェスに加わります。こうすると、明らかに醜い彩度過多のホットスポットができます。

FigureAとBをご覧ください。Aのディフューズは65%、対してBは100%です。Bの方がいかに彩度過多となっているかに気付くでしょう。


Figure A は、サーフェスに適切なディフューズが設定されています。これに対してFigure Bは、ディフューズが100%になっています。

では、サーフェスに適用するディフューズマップをどうやって作れば良いでしょうか?ここで考慮すべき点があります。良い一般的なルールは、サーフェスの反射が増すほど、ディフューズの量は減るということです。なぜでしょう?それは、オブジェクトが反射が増すほど、それ自体のカラーが薄くなっていくからです。あなたが見ている「カラー」は、その環境の反射にすぎません。そして、それらは環境を反射するほど、それら自体が持っているカラーが薄くなります。例えば金属は、一般的に低いディフューズ値を持っていて、普通よく反射します。それに対して木の表面は、高いディフューズ値を持っています(ぬれていない場合のことです。濡れていたら、もっと反射が増すので、ディフューズ値は低くなります。)。なので、それ自体がより多くのカラーを持っています。

ディフューズの量は、どれだけカラーが見えるかをコントロールすることを思い出してください。なので、もしもサーフェス自体があまり色を持っていなかったら、光を拡散しません。

ヒント:
鏡のように100%の反射率のオブジェクトを作るときには、ベースカラーを黒(いいかえれば無色)にすべきことを理解してください。そして、それは無色なので、ディフューズもまた、0%です。

下の例で考えましょう。左のイメージは、100%のディフューズと100%の鏡面反射率を持ったクロームメッキの牛です。結果は、乳白色になっています。一方、右のイメージは、ディフューズは0%で、結果はかっこいいクロームメッキの見た目です。

その他の留意点は、サーフェスの地形です。実際のオブジェクトのジオメトリの中のどんなひびでも、わずかな低いディフューズ値を持っていて、ひびの中に光が入ると、サーフェス独自のカラーの見え方が少なくなります(言い換えれば、光がそこに入ると、それ(光)は、私達の目に跳ね返ってこなくなり、我々が見えるカラーの情報だけが運ばれます)。これが意味することは、こういったあらゆるディテールを含まなくてはいけないので、ディフューズマップは注意深く作らなくてはいけないということです。単純に、サーフェスに全体的な値を与えるだけでは、不十分です。
思い出してください、ディフューズマップを作るときは、あなたはバンプマップは同じように見えるということに留意しなくてはいけません。これはディフューズに影響します。しかし、それはオブジェクトのジオメトリ自体の中にあるひびよりも小さな穴などに対してです。

もちろん、実際のサーフェス自体のカラーは、ディフューズにわずかに影響します。簡単な科学の授業をしましょう。異なるカラーは、異なる波長を持っています。どれだけカラーが拡散するかは、波長の長さによります。例えば、青は短い波長を持っています。そのため、もっとも拡散します。空が青色なのはそのためです。ディフューズは光の拡散と関係するからので、これは留意すべき点です。基本的には、グレーの値にカラーマップの彩度を落とすことからはじめましょう。

前に私が何て説明したか思い出してください。より輝き、より反射しているはエリアは、低いディフューズ値を持っているということを。
こういった理由から、鏡面反射/反射マップからの情報をディフューズに含めるのは重要なことです。それは、鏡面反射マップを反転することによってできます(その結果、その輝いているエリアが変換され、それにより鏡面反射マップの中の明るいグレーが逆になります。従って濃い(暗い)グレーは、ディフューズが低くなります。)。そして、それをあなたの彩度を落としたカラーマップに加えます。これら2つをブレンドすることにより、あなたのディフューズマップのための素晴らしいベースを作ります。しかし、カラーマップの情報は、鏡面反射マップより、さらに重要です(後で理由を説明します)。なので、2つをブレンドする前に、鏡面反射マップの透明度を下げることは重要です。そうやって彩度を落としたカラーマップの強さを確かめます。

でもちょっと待って!

もしもあなたが論理的に考えるなら、このプロセスをこのやり方で実行するのは、確かに問題になります。
なんでって?ではそれを説明しましょう・・・

非常に簡略化した表現と最初の素早い効果について、私達は知っています。
全体のディフューズ量を下げ、ディフューズマップを加えるとサーフェスを暗くすることを。

基本的には、もしもあなたがカラーマップを完成させた後でディフューズマップを作ると、カラーマップとディフューズマップをモデルに適用してレンダリングしたとき、ディフューズマップの変化は、カラーの値に期待しなかった変化を生じさせる結果になります。

もっと簡単に言えば、あなたがカラーマップにペイントした色は、レンダリングした後で実際のモデルに適用したい色(レンダリング後にそう見えていて欲しい色)ではないでしょうか?では、ディフューズが何をするか知りましょう。ディフューズは、全体のディフューズ量を下げてディフューズマップに加えると、あなたがカラーマップに塗った実際の色は、暗くなって見えます。

それはあなたが望んだものではありませんよね?

では、どうやってこれを補正すれば良いでしょうか?

実際にはとても簡単です。少しだけ良く考えて、抜け目なく、そして脳細胞をちょっと使います。

先にお話したとおり、異なる物質は、違うディフューズのベース値を持っています。例えば、人の皮膚は、基本的なディフューズのベース値は70-80%で、木は70-75%、そしてクロームのような反射する金属は15%ぐらいです。物質が何かによって、適切なディフューズ値を与えましょう。しかし、どうやってディフューズ値を決めれば良いでしょうか???

輝き(shininess)と反射(reflectiveness)の値を見てください。

これらのプロパティは、ディフューズよりも目によって再現されます。なので、サーフェスの作成を始めるときに、どれだけ輝き、反射するのかを最初に決めてください。これは誰にでもとても簡単にできます。私達は皆、現実世界の異なるサーフェスがどれだけ輝いているかを知っているので。

これはとても重要なヒントです:どんなサーフェスを作るときでも、手元に多くの参考となるものを用意するよう心がけてください。例えば、私はオブジェクトのテクスチャを作るとき、それがキリンの鼻だったとします。私はどんなイメージマップを作る前、またはどんなサーフェス属性にどんな値を割り当てるときでも、参考のために、最低でも10以上の異なるキリンの鼻の写真を見ます。そのようにして、そのサーフェスがどのように光に反応しているかを正確に見ることができます。そういった参考写真がどれだけ重要であるかということを強調したいと思います。参考写真を参照することにより、その色が何であるか、それがどれだけ輝いていて、どれだけ反射しているのか、どれだけデコボコしているのかを表現できます。基本的には、現実世界においてどのように見えているかということです。これによって、私のCGのサーフェスは、現実世界の複製として完全に忠実なものになります。

鏡面反射と反射の全体の量が決まりましたね。

鏡面反射と反射の全体の量にあわせて、ディフューズの全体量を決めましょう。それらの値が上がると、ディフューズの値は下がることに留意しましょう。(他方で、反射が低くなれば、ディフューズは高くなります。)

これらを大雑把に決める方法は、全体の反射値の残りの数字を使うことです。いいかえれば、もしも反射の全体量が75%なら、ディフューズは25%にしてください(100%から反射のパーセンテージを引いた残りです)。もしも反射の全体量が15%なら、ディフューズ値は85%といった具合です(しかしながら、ちょっとした余裕も考慮します。ときには、数パーセントの調整が必要になります。最終的に正しい見た目にするには、それが必要です)。これらのルールは、堅いものではなく、あくまでもガイドライン(指針)です。私に従いますか?よろしい!では、このちょっとした方程式を念頭に置き、同じようにカラーを補足をするときにも使いましょう。

カラーマップに戻りましょう。私が作っている人間の顔を例に話します。私は、ディフューズの全体量を75%に決めました。このディフューズ値を補うために、カラーマップを25%の明るさにする必要があります。100%から75%の間で、それを25%に明るくします。(もちろん、もっと簡単にすれば、鏡面反射と反射の値と同じ量にカラーマップを明るくする必要があります。しかし、私はディフューズの量を参照しています。)。

カラーマップを明るくする必要がわるとわかりましたが、どうやって正確にカラーマップを明るくしますか?Adobe Photoshop®には、これを行う複数の方法があります。明るさ/コントラストツールを使って、適切なパーセンテージになるまで、ラインに沿ってスライダーを動かします。また、レベル補正を使って、同じことができます。しかし、もっとも簡単な方法は、トーンカーブです。グラフの線をクリックし、グラフの下のほうに表示されるパーセンテージが正しいものになるまで調整します。

代わりに、Figure Cのように、LightWave®のImage Editorの明るさ調整のスライダーを使うこともできます。


Figure C LightWave®のイメージエディターには多くの色調調整ツールがあります

しかし、先に私が言ったように、単独の全体値だけでは不十分です。この補間は全体のディフューズ量にだけ作用することに留意してください。それに対してあなたがディフューズのチャンネルの中で使っている実際のマップは、様々なディフューズの強さを持っていて、明らかにそれに含まれる変化するグレーの陰影によって決定されます。これが、他とは違い、グレースケールの値を使うのがとても重要であることの理由です。

イメージマップを描くのって難しい?

じゃあ、ディフューズを経験する前に、実際にはそれは極めて繊細な効果であることを伝えさせてください。レンダー画像が大きく、急に違いが出るとは思わないでください。あなたが正確なディフューズマップを作ったとき、それがとてもわずかな違いであることに気付くでしょう。しかしながら、わずかかもしれませんが、極めて重要な効果です。

Figure Dをご覧ください。この手はディフューズがありません。これに対して、Figure Eはディフューズがあります。両者の違いがとてもわずかであることがわかるでしょう。Figure Dの手は、彩度が高すぎです。この手の皮膚は死んでいるようです。そして、カラーマップが正確に作られているにもかかわらず、実際にはディフューズ値が 100%であるために、彩度が高すぎです。これは私が望んだものではありません。これに対してFigure Eは、ディフューズマップを加え、私が説明したやり方によれば、全ての全体値は正しく設定されています。ご想像どおり、こちらはより理想的な彩度になっています。皮膚は、私が望んだように見えます。


Figure D - ディフューズ値100%の手


Figure E - 正しいディフューズ値の手

わかります、多くの人はこれを見て、「何が気になるの?」と思うでしょう。もしもあなたが、フォトリアルなものを作りたいなら、そして高品質なビジュアルイフェクトを作成したなら、これらは必要不可欠なことです。これらは微妙で役に立たないイフェクトに見えるかもしれませんが、信じてください、これらは必須です。皮膚が、100%のディフューズ値のままテクスチャリングされたキャラクターは、それに光があたったとき、全体に、とても醜い彩度に見えます。これを避ける唯一の方法がディフューズを正確に使うことです。これが、より大きな行程の全てです。

これが私がディフューズについて言いたいことの全てです!!ここから何かを得てもらえたなら幸いです。


-4: Leigh 03 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。