読者です 読者をやめる 読者になる 読者になる

スキルアップデート   BLENDERで役立つ操作

blenderのすぐに使える機能をアニメーションで紹介していくブログです

blender 省スペックcycles 反射光の規則性(読まない方がよくわかる)

blender2.69

cylclesは光沢反射、反射、透過した光の屈折が通常レンダーに追加されている。

これら追加されているシェーダに共通していえることは光の動きをレンダリングしているということだ。 ライトをオブジェクトとして追加しているのだ。

つまり

blender備え付けのレンダリングエンジンでの結果に光レイヤーを乗せれば

高負荷なcyclesを使わず、かつ3Dの可能性が広がるのではないだろうか。

 

大体絵ですら反射光やらなにやら上から書き足せば写実的になるのだ。

3Dでできないわけがない。

 

まずは普通にcyclesでレンダリングした結果を見てみよう

f:id:takasaryo:20131126225501j:plain

赤青黄三色のグラスBSDFとディフューズBSDFのBoxそれにSSSのBox

SamplesのRender30でのレンダリングであるためノイズが多い

(公式のリファレンスでご丁寧にノイズを減らす方法を1ページ使って説明している がSamplesRenderを1000~10000にすればきれいにレンダリングされる)

 

 

コンポジットノードは普通にレンダリングした場合ここまで複雑にはなっていない

いつも通りCombineされた後のimagesの一項目のみだ

 

だがPassesをみると項目が通常レンダラーとはだいぶ違うのがわかる

f:id:takasaryo:20131126231718j:plain

これがCyclesのPasses

そして下がいつものPasses

f:id:takasaryo:20131126231817j:plain

 

具体的にはPassesのチェック項目からcombineされたレンダリング結果を

作る際に必要な項目が大きく違うのだ。

通常のBlenderengineの場合はDiffuseとSpeculaとshadowさえあればcombine後になる

が、cyclesの場合DiffuseGlossyTransmissionSubsurfaseのそれぞれ3項目すべてを使う

f:id:takasaryo:20131126231718j:plain

 

またその主要項目の中に通常レンダーでは独立した項目として置かれていたColorが

含まれているのも特徴的だ。

 

ガラスのレンダリング分析は今回はしょる

cyclesのレンダリングで特徴的なのはガラスの屈折ではなく

ラジオシティに近い反射屈折の計算方法だからである。

cyclesレンダー使用例として見られる画像がSSSだけでのレンダリング結果と

大きく違うのはその反射屈折の影響によるものだ。

もともとSSSは光の屈折を計算してモノではなく反射率の変化である。

SSS Rendering with Nodes | BlenderNation

 

光の拡散率を変更するという理屈にはなっているが結果を見ると

影の色を変え影の輪郭と減衰率が大きく変わる。

反射屈折(光沢反射)の性質によく似た結果になるのだ。

当然きちんと光沢反射を計算するcyclesレンダーでの結果が映えて見えるというわけだ。

 

光沢反射を単純に説明するならば

オブジェクトの色を周りに放射することによって互いが互いにライトを当てる

赤いものを紙の上に置くと紙が少し赤くなる。お湯に自分が入ると湯の色が赤っぽくなる。 水面から反射する美しいきらめきというのが水以外からも出てると思うとわかりやすいだろう。

だがこれではオブジェクト数が増えれば増えるほど手作業で光沢反射をちまちま探す

時間が増えるだけでなんの解決にもならない。

光沢反射の理屈だけがわかっても意味がない。

もっと簡単に、そして精確に光沢反射をつけるための規則性を読んでみる。

 

Passesの他にもマテリアルの方でレイタイプの視覚化による見分け方もある。

ただレイタイプでわける場合ガラスの屈折を除外することができないので

今回は使えそうもないだろう

 

レイタイプの視覚化 - Blender Cycles memo

 

Passesの中での光沢反射をレンダリングしているのは

Diffuseの「Direct 」「Indirect 」「Color」

見やすいように反射される地面と色のついた非透過オブジェクトにズームしてレンダリングしたものをPassesからその3項目を合成することによってコンポジットを

使わずに出した結果と同じになるように並べてみる。(念のためSubsurfaceも)

f:id:takasaryo:20131127000257j:plain

 

これで一見バラバラにしか見えないPassesの画像が

合成されることによって光沢反射を伴った1枚の画像になることがはっきりした。

(通常のblenderレンダリングエンジンを使っても近づけることができるということ)

 

ではこの6枚がそれぞれどのような画像なのかを見よう

 

Direct diffuse

f:id:takasaryo:20131127000928j:plain

 

Diffuse indirect

f:id:takasaryo:20131127001025j:plain

 

Diffuse color

f:id:takasaryo:20131127001237j:plain

 

Subsurfaceは全部真っ黒だった

f:id:takasaryo:20131127001333j:plain

 

この3枚の合成を見ることになる

f:id:takasaryo:20131127000928j:plain f:id:takasaryo:20131127001025j:plain f:id:takasaryo:20131127001237j:plain

 

もっとも目を惹く反射光のレンダリング結果

2枚目の色彩豊かなものを分析する

f:id:takasaryo:20131127001025j:plain

オブジェクトは赤と青のみ

だというのにこの画像では反射に黄色の光が散文しているのが見られる

これが事実なら全体の色から3原色の色を補完するパーツのある複雑なシミュレーションであるということになるがシミュレーションでない実際の自然での反射光の仕組みにそのような特徴は存在しない。(絵画参考)

つまりこの黄色の影は別の影響からくるものだ

箱2つと地面、EMITだけにしてみると

f:id:takasaryo:20131127110939j:plain

 

黄色はほとんど消える。

反射光は明かりの方向に関係なくオブジェクトの色を反映し

接しているオブジェクトにその光を投影する。

 

だから赤いオブジェクトの横にある青い箱は赤で照らされる

ということは決してない。

 

確かに微弱ならば反射光はオブジェクトの色で照らすが

オブジェクトの色とは違う白で照らされている部分が存在している

 

光は3色混ぜると白くなるため白をパーツわけすることはでない

右と左で明かりの差があると色が違うものになっていることから推理するほかない

光が反射して近づいてくる場合は反射光同士に影響を受け

反射して遠のく場合反射光に影響を受けない

 

そのため、色のレイヤーを分ける必要が出てくる

遠のく光と近づく光で色の規則性がわかれるのだ

(遠のく近づくはカメラにではなく面に対して鋭角な面の有無で判断するとよい)

レンダリングした時に別のもので隠れてしまい縦の平面なのに横の平面に見えるとか

ピンボールで詰まってしまいそうな部分を探そう

このマゼンダの部分が近づく反射光である

f:id:takasaryo:20131127134310j:plain

この近づく反射光は反射角が鋭角な場合に形成されるため

ボックスオブジェクトが平行になればなるほどマゼンダの領域が増える

f:id:takasaryo:20131127135035j:plain

 

遠のく光の場合反射される光に変化は生じない。

唯一影響するのはその反射光を出すオブジェクト自体の輝度と彩度であり

白ければ白いほど反射光も白くなる

f:id:takasaryo:20131127142456j:plain

 

 

近づく光の色の変化は複雑だ

RGB3色しか使わないのであればすべて白の反射光になるが

f:id:takasaryo:20131127143506j:plain

 

青に近い赤 緑に近い赤などの色が少しでも偏った色になると

均衡した色のオブジェクトには白でない色を写し偏った色のオブジェクトには

その色に反応し反射する色を変える

 

f:id:takasaryo:20131127144740j:plain

左から白、マゼンダ、パープルのオブジェクトだが

白にはマゼンダを投影し パープルには薄く黄色の反射になる

隠れて見えないマゼンダの壁面もパープルが反応した別の色が写されているだろう

 

だがマゼンダが反応して出す黄色はその投影する壁がRGBでない限り

どの色であっても黄色である。

ここにそれぞれの色見表を書いておこう

RGBの色を軸にして反対にいる色に変わっていくということを注目されたし

(赤)→白       RGB以外、RGB 

マゼンダ(青よりの赤)→黄色   、マゼンダ

オレンジ(緑よりの赤)→青    、オレンジ

(青)→白

パープル(赤よりの青)→水色   、パープル

シアン(緑よりの青) →赤    、シアン

(緑)→白

ミント(青よりの緑) →黄色   、ミント

レモン(赤よりの緑) →水色   、レモン

 

この表を見るよりはblenderについてるカラーバーを見ながらの方がわかりやすい

反射光の規則性をまとめるとこうだ

 

反射光は遠のく光と近づく光に分けられる(追記;色がつくのは地面残りは白色光)

遠のく光はオブジェクトの色に忠実に投影されるが

近づく光はオブジェクトの色に影響を受ける

 

ただし発光位置発光角度に影響は受けず明かりの形は接している面と形に比例する

 

次に発光体に影響を受けるレイヤーを分析しよう

f:id:takasaryo:20131127000928j:plain

 

続く

単価の高い広告を自動で選択して配信してくれる!『忍者AdMax』