Blender : ガラスの影を薄くする

By | 2017年8月29日

水槽の影を薄くしたかった

脱出ゲーム4Rooms」をリリースしましたが、初の3D作品なので思うように絵作りできなかった箇所が多々あります。その中で一番心残りなのが下図の水槽です。光がガラスや水を透過せずに暗い絵になってしまいました。なんとかしようとライトの光量を増やしたら背後の壁が白トビしてしまうし…。

0829_a

原因の割り出し

とりあえずガラスと水で分けてレンダリングしてみました。左が「水を抜いた」サンプルで、右がガラスを外して「水だけ」にしたサンプルです。程度の差はありますが、両方とも透明に関わらず影は思っていたよりも濃くなっています

0829_b 0829_c

後で気がついたのですがガラスが白ではなく淡いグレー(Blenderのデフォルト色)だったことが判明、どうりで水よりも影が濃いと思った…。

Cyclesでは影の微調整ができない?

レンダリングモードが「Blender」の場合は下記サイトの説明のように影の微調整ができるようなのですが、「Cycles(レンダリングが綺麗なモード)」の場合は、この設定がありません。

Blender manual: Transparency
デフォルトでは、透明オブジェクトの影は、オブジェクトがまったく透明ではないかのように、黒一色でレンダリングされます。 しかし…

Cyclesでは上記のような設定もノードを利用して実現する(と思ったので)、Glass shader(ガラス)にTransparent shader(透明)を混ぜてマテリアルを作成しレンダリングしてみました。結果は以下の通りで、ガラスや水をかなり透明に近づけても(90%)影は意外と薄くなりませんでした

0829_d 0829_e

影用のオブジェクトを用意する

ネットで色々調べるとCyclesでは私が考えるようなシンプルな方法では影は調整できないようです。もし影を調整したいなら対象から影を外し、代わりに影用のモデルを追加するようです。

左側は普通のGlass shaderを利用した水で、左はGlass Shader + transparent shaderです。本体の質感は左を利用し、影の質感は右のを利用するようにします。

0829_f 0829_g

まず本体用のモデルから影を外します。この設定がOn/Offでなく、もっと細かく設定できればよいのに…。 ※濃淡ができていますが、これは影ではなく屈折によるものだと思います。

0829_h 0829_l

それで影用のモデルは影だけにします。

0829_i 0829_m

2つのモデルを重ねてレンダリングすることで、下のように影を薄くすることが出来ました。1つのモデルに見えますが、実際は右のように2つのモデルを利用しています(画像は分かりやすいようにずらして配置しています)。下段のオリジナルと比較すると影が薄くなっていることが確認できます。

0829_j 0829_n 0829_f

工程が面倒なので本当にこれがベストなのかは疑問なのですが、現段階ではこれで良しとしました。
以前、「特定のモデルだけ照らすライト」について調べていたのですが、それもCyclesではシンプルに実現することはできず、複数のレンダリング結果を合成するようなテクニックが必要でした(今回以上に複雑で利用を諦めたのですが…)。

結局は影なしで…

水槽は複雑な構成なのでモデルを追加するの面倒だな..と思い、手抜きで影を表示しないのみの処置でレンダリングしてみました。そしたら下図のように、多少の影?は残るので合成しないことにしました(暗くなっている部分は屈折や蓋の影なの?)。

0829_k

理想はまだ先…

影については理解を深めたので勉強は修了としますが、明るくなったぶん他の箇所が気になってしまいます。

●ガラスが弱く見える
  ・色を少し付ける(薄緑)。
  ・辺を金具で補強する。

●ガラスが綺麗すぎる
  ・キズや汚れを少し付ける。
  ・苔はちょっと減らそうか。

●なんか平面的
  ・水槽内に光源を設置する。

おしまい。


コメントを残す

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

Time limit is exhausted. Please reload the CAPTCHA.