29_22

BLENDER-99-29/Cyclesマテリアルの基本8

いやあ、いろいろ学んできましたねー。
今回は、特定の質感を表現するシェーダーではなく、機能的な役割のシェーダーを学びます。

さっそく、はじまりです。

【Blender-99 絶対に挫折しない3DCG入門 -29 Cyclesマテリアルの基本-8】

【今回の学び】

・特定の用途に用いるシェーダー

あの図をもう一度見てみましょう。《特定の用途に用いるもの》です。

23_06

この中から、今回は「Ambient Occlusion(アンビエント・オクルージョン≒環境遮蔽。難しい名前ですね)」と「Background(=背景)」と「Emission(=発光)」を学びます。「Holdout」以下の三つについては少々上級用になりますので、このシリーズでは割愛する予定です。

また、BackgroundとEmissionについてはこれまでも折に触れて使用していますので、さらっといきます。

個別に見ていきましょう。

【Ambient Occlusion(アンビエント・オクルージョン≒環境遮蔽)】

環境遮蔽という名の通り、「環境から遮蔽されている」ことを表現するためのシェーダーです。
これ、どういうことかというと、例えば溝になっている部分や凹んだ部分など、光が届きにくくなる場所を暗くするためのものです。

自分の周囲にあるもので、いくつか写真を撮ってみました。

フローリングの溝が黒っぽく見えるのは、板と板の間にある隙間に光が届かないからです。
フローリングの溝が黒っぽく見えるのは、板と板の間にある溝に光が届かないから。

 

本の隙間が暗いのは、奥に光が届かないからですね。
本と本の間が暗いのは、奥に光が届かないからですね。

 

冷蔵庫の扉と本体の間、取手の凹み部分など、光が届きにくいところは暗くなっています。
冷蔵庫の扉と本体の間、パーツの接合部、取手の凹み部分など、光が届きにくいところは暗くなっています。

 

この《細い隙間に光が届きにくい》ことをきちんとレンダリングで表現するには、かなり細かく厳密に計算してあげなければなりません。今どきのCyclesならたいした負担でもないのですが、CGと現実では同じにならないこともあります。

凹んだ隙間には汚れや埃が溜まりやすいですが、CGではそんなことは起こりません。それによって、本来の光の当たり方より暗く見えるということも、現実では起こります。

CGでは、細い隙間にたまたま飛び込んだ光がそこを明るく照らすなんていうことが起こってしまう可能性もあります。CGの光の表現は全てを正確に現実と同じように計算しているわけではなく、ある程度ランダムな取捨選択によって《計算すべきところだけを計算している》のです。
(まあ、これも、Cyclesではほとんど気にしなくて良いレベルなのですが……)

さて、Ambient Occlusion(長いので、以下A.O.)シェーダーはどんなものでしょう?

背景は真っ黒、光源は何もない状態です。上からふわっとした光を当てた時に陰になりそうな部分が暗くなります。

 

これが、A.O.シェーダーをスザンヌと床壁に当てた状態です。

Blenderのシーンデータはこちらからどうぞ。

Diffuseの白いシェーダーを使用した時と同じに見えますでしょうか。でもこれは、画像のキャプションにある通り、完全に真っ暗闇の空間です。Diffuseシェーダーの場合は光源がないと何も見えません。この状態でDiffuseシェーダーを当ててレンダリングしても全面真っ黒い画像になるだけなのです(無駄なので画像は貼りませんが)。

明かりが全くなくてもオブジェクトの形が見える、というのは、現実では起こりません(それ自身が発光していない限り)。もちろん発光しているわけでもないのですが、A.O.シェーダーは見えてしまいます。

これは、A.O.シェーダー自体が《機能的な役割》なので、そのまま絵作りに使用するわけではないからです。

DiffuseシェーダーとA.O.シェーダーの違いをもう少しはっきり感じられるように、背景が真っ白でDiffuseの真っ白いシェーダーをスザンヌと壁床に当ててレンダリングしてみました。

明る過ぎて、何だか分からない画像になってしまいました。
明る過ぎて、何だか分からない画像になってしまいました。

背景の白い光に照らされて初めてDiffuseシェーダーの白い色が見えるわけですが、真っ白同士で明る過ぎて飽和してしまいました。

これでは形も何も分からないので、Diffuseカラーの白を少し暗くしてみます。

8割の明るさの白です。
8割の明るさの白です。

 

これでレンダリングすると……

形は分かるようになりましたが、ぼんやりしていて立体感が少なめです。
形は分かるようになりましたが、ぼんやりしていて立体感が少なめです。背景全体から発せられる光のように、ふわっとして方向性のない照明で照らされると、影も弱くなって立体感が希薄になります。

 

こんなときこそ、A.O.の出番です。

この画像の上に、A.O.のレンダリング画像を重ねて透かしてみます。《どのくらいの重ね方が一番きれいか》が、センスの見せどころですね。

ちょっとずつ、重ねる度合いを増やしています。だんだん立体感が出てきますね。 影の部分が増えると、「重さ」も感じられるようになります。
ちょっとずつ、重ねる度合いを増やしています。だんだん立体感が出てきますね。
影の部分が増えると、「重さ」も感じられるようになります。

 

今度は鏡のように強い反射を持つスザンヌです。きれいですが、立体感と「接地感(これ、CGではとても大切なことのひとつです)」が足りません。

29_06

こんな感じにA.O.を足すと、ぐっと重さが出ます。
こんな感じにA.O.を足すと、ぐっと重さが出ます。

 

鏡状の床に映ったスザンヌにはA.O.が入っていないのでリアルさには欠けるのですが、そこは言われるまで気がつかなかった方が多いかと思います。《目の行きやすいところをしっかり作り込み、他では手を抜く》というのもCG作成の大事なポイントです(ホントか?)

なお、A.O.レンダリング画像の合成は画像処理ソフト(Adobe Photoshop)で行ないました。Blenderでも同じことが出来るのですが、それはもっと先の話になりますので……。

A.O.については単独で使うものでもないため、今回は座学のみとさせていただきました。ご了承下さいませ。

ご自分で試してみたい方は、上のダウンロードリンクからデータを落として使ってみてくださいね。


【Background(=背景)】

読んで時のごとく、背景に使用します。試しにスザンヌ(と床)にBackgroundシェーダーを当ててみます。

ご自分で試す場合は、先ほどのデータを使用してくださいね。

見ての通り、真っ黒です。
見ての通り、真っ黒です。

Backgroundシェーダーの色設定は白になっています。それではWorldパネルの方にある背景の設定が真っ黒かというと……

真っ白だったりします。
やっぱり真っ白だったりします。

 

ここをどんな設定にしてもスザンヌの色は真っ黒なまま。要するに、これはマテリアル設定としては使えない・使わない、ということです。

シェーダーの話としてはこれまでですが、せっかくですからちょっと寄り道しましょう。

World(=環境)で背景にSky textureを設定すると、こんな感じになります。スザンヌは白いDiffuseシェーダーです。

29_12

もう手順をお見せしなくても出来ると思いますが、そこは《世界で最も丁寧なBlenderチュートリアル》を目指しているBlender-99ですから、念のためGIFアニメを貼っておきますね。

29_13

このSkyですが、リアルな物理スカイから2種類を選ぶことが出来ます。

Preethanは明るくて、ピンクの地平線がきれいです。Hosek/Wilkieの方が新しく、表現的にもリアルなようです。
Preethanは明るくて、ピンクの地平線がきれいです。Hosek/Wilkieの方が新しく、表現的にもリアルなようです。

 

Hosek/Wilkieの物理スカイには「Ground Albedo(地面のアルベド)」という設定があります。これは空に照らされた地面から上方へと放射される光の明るさを指すのですが、設定値を変更するとどうなるか見てみます。

29_15
全体的に明るい感じになりました。

 

今度は、空の光の強さを表わす「Strength」との違いが気になりますね。では、Ground Albedoを0に固定して、「Strength」を変化させて比べましょう。

こちらも全体に明るくなりますが、より彩度が上がって天頂の色を拾う感じになるのではないかと思います。

ついでに、「Turbity」の値も変えてみましょう。こちらは、空の濁度です。つまり、空気がどれだけきれいか、汚いか、です。

最も小さな値が1です。空に不純物がないと、空気中の光は拡散も反射もせず、宇宙のように真っ暗になってしまうからではないかと思います。1刻みで設定してみます。

 

濁度を上げると空の色が濁っていったん赤味を帯び、その後灰色になります。 なぜか、影のエッジは次第にはっきりしてきます。
濁度を上げると空の色が濁っていったん赤味を帯び、その後灰色になります。
なぜか明るくなり、影のエッジは次第にはっきりしてきます。ただ、単純に線的な変化ではなく、単に値が高いとどうなる、低いとどうなる、ということでもないようですね。

 

Hosek/WilkieとPreethanに共通しているのが、太陽の向きです。ちょっと扱いづらいですが、プレビューの球体をドラッグすると時間帯などが変化します。

これを扱いやすくする「Sun Position」というアドオンがあるのですが、そこはまた後日、ということにします。興味のある方は、ご自分で調べてみても面白いかと思います。

このへんでBackgroundの話は終わりにして、次に行きましょう。


【Emission(=発光)】

Blenderのシェーダーの中で、最も多用するものの一つがこのEmissionです。形のはっきりしたオブジェクトを光源として用いると分かりやすいですし、現実とも近い表現になるため、照明に多用します。

■注意■
光源のサイズが小さいと異常にレンダリング時間が掛かりますので、間違っても豆電球などをリアルに光らせて部屋全体を照らすようなことはしない方が良いかと思います。

Emissionシェーダーの基本について、実は
『BLENDER-99-21/様々なランプ(後編)』で学習済みでしたね。
忘れている方は上のリンクから復習をどうぞ。

第21回の講座ではスフィア(球体)、プレーン(平面)、トーラス(ドーナツ型)をエミッター(Emissionシェーダーを当てた発光体)にしてスザンヌを照らしました。
もっと自由度が高いことを見て頂くため、スザンヌにEmissionシェーダーを当ててみたのが下の絵です。

後列中央はツヤツヤのGlossyシェーダー、前列右は半ツヤのGlossyシェーダーです。
後列中央はツヤツヤのGlossyシェーダー、前列右は半ツヤのGlossyシェーダーです。

 

同じシーンで、環境を真っ暗にするとこのようになります。

三つのスザンヌだけから光が出ていることが分かりますね。
三つのスザンヌだけから光が出ていることが分かりますね。きれいです。

方法を学ぶのはまだ先の話ですが、こんなことも出来ます。

29_21
たくさんのプレーンをArrayで並べ、動かしながら色を変化させています。エミッターの数が多いため、レンダリングの結果も少々ノイズが多くなっています。エミッターの数が増えるとレンダリング時間が遅くなりますので、部屋全体を照らしたいときなどは大きめのプレーン一枚で行なうと良いでしょう。

 

皆さんは既にお気づきのことと思いますが、Emissionシェーダーを当てたオブジェクトには陰影がつきません。オブジェクトの全体が均等に光を発しているので、当然のことですね。

でも、それでは表現の幅が狭くなってしまいます。
もちろん、少し手を入れれば立体感のある表現も可能です。
例えば、「反射を入れる」、「暗いところを作る」などですね。

こちらは、ある遺跡の発掘現場をCGで作ったものです。
(小説『孤独の王』のPV用です。数年前の作品ですが)
電球オブジェクトを発光させて照明にしていますが、付け根の部分を少し暗くして電球の立体感を出しています。

29_22

 

次に、シンプルでちょっとシュールな部屋を作ってみました。こちらは、天井近くにEmissionシェーダーを当てたプレーン(平面)を置き、それを照明にしています。プレーン自体はカメラから見えない場所にあります。

29_23

Emissionシェーダーの代表的な使い方としては、この2つでしょうか。照明器具と、姿を見せない照明用。もちろん、もっと色々な使い方は出来ますが。

本日の学びはこれで終了です。最後に、『SF雑誌オルタニア Vol.3 変身』の表紙をご覧下さい。

宇宙空間にある無数の星は全てEmissionシェーダーを当てたスフィアです。右側の変身文字型宇宙船(笑)の側面にある窓やイルミネーションも全てEmissionシェーダーで光らせたものです。

イメージ、広がりますでしょうか。Alternia_cover_s

【本日の学び】

・特定の用途に用いるシェーダー
・Ambient Occlusion(アンビエント・オクルージョン≒環境遮蔽)
・Background(=背景)
・Emission(=発光)
【次回の学び】

・質感を合成するために用いるシェーダー

今回も、お楽しみいただけましたでしょうか?
それでは、ぜひまた次回もお越しくださいね!

Happy Blending!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>