使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.2 |
2022/12/04:日本語版ユーザー用にも分かりやすいようにノード名などを加筆
BlenderのEevee
にて
次のキューブをガラスっぽくしたいと思った時
Glass BSDF
(グラスBSDF)を使ったり
やPrincipled BSDF
(プリンシプルBSDF)のTransmission
(伝播)を1.00
にして使うと思う。
しかし、ガラスっぽくならない。
むしろ悪くなっている。
ノードを繋いでみて「あれ?なんで透明にならない?」となることが時々あるので今回は記事にすることにした。
レンダリングとマテリアルの設定を一部変更すると良い
実は上のマテリアルの組み方自体は正しい。
次の設定をすればガラス風になる。
レンダープロパティから次のチェックをオンにする
Screen Space Reflections
(スクリーンスペース反射)Refraction
(屈折)ガラスにしたいオブジェクトのマテリアル設定からSettings
(設定)タブを開いて次を変更
Blend Mode
(ブレンドモード)をAlpha Blend
(アルファブレンド)に変更。(Alpha Hashed
でも良い)Screen Space Refraction
(スクリーンスペース屈折)をチェックAlpha Blend
(アルファブレンド)よりAlpha Hashed
(アルファハッシュ)のほうが軽い演算。
ただしノイズが乗るのでサイズの小さいプロジェクトではAlpha Blend
(アルファブレンド)でよいかと思う
一応完成。
ただ、あくまでEevee
なのでリアルさに限界はある。
もう少しリアルにしたい場合はマテリアルノードを工夫してやる必要がありそうだ。
次のマテリアルノードを使えばScreen Space Reflections
(スクリーンスペース反射)を使わなくても良い。
シャボン玉を作った時の例
Glass BSDF
(グラスBSDF)とTransparent BSDF
(透過BSDF)をMix Shader
(シェーダーミックス)で繋ぐ。
Layer Weight
(レイヤーウェイト)からFacing
(前方向)を接続
または
Glass BSDF
(グラスBSDF)ではなくGlossy BSDF
(光沢BSDF)を使うとLayer Weight
(レイヤーウェイト)なしでも近いものができる。
組み合わせても質感が変わって面白い。
このケースだと背景のHDRIの助けがあってそこそこ良さげにレンダリングできているがScreen Space Reflections
(スクリーンスペース反射)を使ったほうがきれいに見える印象。
このノードの組み方と組み合わせることで更に一歩良くなるように見える(演算負荷と相談)
この記事の内容を詳しく解説しているサイトは他にたくさんある(ガラスっぽくする手法)
そして初心者ならその指示に従って設定をしていくので躓くことは少ないだろう。
しかし、逆に慣れてくると記憶を頼りに設定するので「あれ、どの設定だっけ?」というピンポイントな部分で混乱するケースがあると思ったので逆引き用として記事にしてみた。
というか私がそう。
誰かの助けになれば幸いだ。