見出し画像

文系の blender 4.0 マテリアル | グラス ガラス

グラスマテリアルは cycles の得意分野で、比較的かんたんな設定で実現できますが、それだけに応用範囲も広めです。

ここでは、グラスマテリアルを、おもにプリンシプルBSDFのプロパティ別に整理してみました。

サンプルはすべて cycles によるレンダリング。EEVEEについては、EEVEEグラスマテリアル設定を参照ください。ただし、わたしのこれまでの理解内では、EEVEEはガラスの表現があまり上手ではありません。

なお、ここでは、生成テクスチャを多用しています。作成の基本については、怖くない生成テクスチャを参照してください。


環境 Blender 4.0.2 , Mac Mini M1 OS 14.2



基本


プリンシプルBSDF、粗さ(Roughness)を 0 、IOR を 1.5 、伝播(Transmission)のウェイトを、 1.0 とした。これを基本とします。

ベースカラーは#D3D3D3

cycles では、この設定のみで十分なレベルのガラスを表現できる。

伝播はマテリアルの内部にどれだけ光を通すかを表す値。値が大きいほど透明になる。アルファと異なり光の屈折を伴い、材質によって異なる屈折率はIORで設定する。ガラスは約 1.5 、水は 1.33 など。材料の屈折率一覧表


ベースカラー


基本に加え、左はベースカラーにグラデーションテクスチャを、右はマスグレイブテクスチャをそれぞれ着色して接続した。


粗さ(Roughness)


基本に加え、どちらもややベースカラーを変更し、右は粗さを 0.2とした。左は、ボロノイテクスチャを、粗さ に接続し、パターンによってなめらかな表面と粗い表面を混在させた。

左のグラス。テクスチャの白黒のエリアによって粗さが異なる。

粗さを加えることによって、磨りガラスの雰囲気が出る。また、表面の粗さをノイズテクスチャ等によってランダムに変化させることで、やや汚れのあるリアルなガラスの表面も表現できる。


バンプ(Bump)


基本に加え、左は波テクスチャを、右はボロノイテクスチャを、それぞれバンプノードを経由し、プリンシプルBSDFの ノーマル に接続した。

UVラップを行い、グラスの外側のみ上のマテリアルを適用

バンプは、オブジェクトの表面に擬似的な凹凸を加える機能。細かなジオメトリ(形状)を作成する場合に較べ、手間も少く、また、レンダリング処理に負担をかけない利点がある。


ボリューム(Volume)


ここでは、雲や蒸気などの表現に用いられるボリュームを着色し、ガラスの内部に適用した。ベースカラーに着色するのとは異なった表現ができる。

左は内側ボリューム、外側ガラスの2重構造
中央のガラスボールの内部。「ボリュームの吸収」に着色
右、「ボリュームの吸収」カラーと密度にそれぞれテクスチャを接続

すこしノードが複雑になるが、もし必要ならば、フォトリアルな飴、水菓子などにも役に立ちそうだ。


放射(Emission)


基本に加え、どちらもベースカラーをやや変更し、右はグラーデーションテクスチャをプリンシプルBSDF、放射 > 強さ に接続した。

左はデジタルクロックの表示板の画像を利用し、ミックスシェーダーで、ガラスと放射マテリアルを混合させている。

どちらも、画像/テクスチャの白に近いエリアを発光、黒に近いエリアをグラスとして表示している。

ガラス製のランプの場合、発光にライトオブジェクトを内蔵するよりもよい結果が得られることが多いかもしれない。


液体と氷


ガラスと水などの液体はほぼ同じマテリアルで表現できる。

左は、基本から IOR を 1.33 と変更した水。右は同様に基本から、「ボリュームの吸収」ノードで果汁粒の印象を加えたジュース。

中央だけは基本とは異なり、伝播をゼロとし、サブサーフェスでミルクの質感を表現した。

サブサーフェス(Subsurface Scattering)は物質の内部の光の散乱をシミュレートする機能で、ひとの肌や石鹸などの有機的な質感を表現できる。

水、ミルク、オレンジジュース
左ミルク 右オレンジジュース

同様に氷は、基本に加え、細かいようだが、 IOR を 1.31 とした。アイスキューブは、立方体をやや細分化し若干ランダムに変形させている。

左のウィスキー風。ノイズテクスチャで、ベースカラーに少し変化をつけている。

ちなみに、右のソーダのストローは、理科の実験のように、屈折のためやや折れてみえるという物理現象を確認できる。
また、ガラスと氷、水はマテリアル設定としてはほぼ同じで、ガラスは常温では溶けない氷なのかもしれない。


グラスのなかの液体
グラスのなかの液体は、通常グラスの内側の面を複製して作成するが、液体オブジェクトは、グラスとわずかに重なりあうよう拡大する。
また、ビューポートオーバーレイの「面の向き」をチェックし、ノーマルが正常であることを確認する。正常でない(面が赤で表示)場合は、編集モードで赤の面を選択し、メニューの、メッシュ > ノーマル > 反転 を行う。


コースティックス(Caustics)


コースティックスは、ガラスや水面の反射や屈折によって起きる独特な模様のこと。

1 ) やや強めのサンライトなどのプロパティ内、「シャドウコースティックス」 にチェックする。
2 ) ここでは下のガラス皿のオブジェクトプロパティ内、シェーディング > 「シャドウコースティックス投影」 をチェックする。
3 ) 床のオブジェクトプロパティ内、同じく、「シャドウコースティックス受信」をチェックする。

手続きも煩雑で、レンダリングにも非常に時間がかかる。特別な理由がないかぎり用いることはないかもしれない。


ライトパス(Light Pass)


基本のグラスは、当然ではあるが、影ができる。物理的にも正しいが、インテリアシーンの窓ガラスなどでは、影が出ないほうが好ましい場合もある。

その場合は、ライトパスノードを使用し、シャドウレイのみ、ガラスではなく、100%透明のマテリアルとして認識させる。

影の代わりに明るくなるのは、おそらくガラス表面からの反射光。
ややわかりにくいが屈折や周囲の映り込みなど影以外のふるまいは同じ。
入力 > ライトパス

cycles などのレイトレーシング方式では、カメラからレイと呼ばれる架空の光線を発し、レーダーのように周囲を探って(トレースして)いる。レイは、影、反射、光沢など役割分担があり、ここでは、影のレイのみ、ガラスではなく、透明な物体だと認識させている。


まとめ


ガラスじたいのマテリアルは cycles ではかんたんな設定で実現できますが、ガラスの他にも透明、半透明のマテリアルは多岐に渡りますし、サブサーフェスやボリューム等と組み合わせることで、様々な応用が可能になりそうです。

まだ blender を始めたばかりのころ、作ったマテリアルは世にもへんてこな代物ばかりでほとんど blender を放り投げる寸前でしたが、ガラスだけはグラスシェーダーひとつでリアルなコップができるので、俄然やる気を取り戻した記憶があります。

この記事が気に入ったらサポートをしてみませんか?