2022-07-04

【Blender】Eeveeでガラスっぽくしたいのに透明にならない時【Tips】

Transmission(伝播)やGlass BSDFを設定しているのになぜかガラスっぽくならない。そんな時に確認する設定項目。

Article Image
使用ソフトウェアバージョン備考
Blender3.2

ガラスっぽくしたい

BlenderのEeveeにて

次のキューブをガラスっぽくしたいと思った時

デフォルトキューブ

Glass BSDFを使ったり

Glass BSDFノード

Principled BSDFTransmission(伝播)1.00にして使うと思う。

Transmissionを1に

しかし、ガラスっぽくならない。

悪くなった例

むしろ悪くなっている。

よくある

ノードを繋いでみて「あれ?なんで透明にならない?」となることが時々あるので今回は記事にすることにした。

レンダリングとマテリアルの設定を一部変更すると良い

設定方法

実は上のマテリアルの組み方自体は正しい

次の設定をすればガラス風になる。

レンダープロパティ

レンダープロパティから次のチェックをオンにする

  • Screen Space Reflections(スクリーンスペース反射)
  • Refraction(屈折)

設定の画像

キューブのマテリアル設定

ガラスにしたいオブジェクトのマテリアル設定からSettingsタブを開いて次を変更

  • Blend ModeAlpha Blend(Alpha Hashed)に変更
  • Screen Space Refraction(日本語:スクリーンスペース屈折)をチェック

picture 5

Alpha BlendよりAlpha Hashedのほうが軽い演算。

ただしノイズが乗るのでサイズの小さいプロジェクトではAlpha Blendでよいかと思う

完成

一応完成。

完成

ただ、あくまでEeveeなのでリアルさに限界はある。

もう少しリアルにしたい場合はマテリアルノードを工夫してやる必要がありそうだ。

別の方法

次のマテリアルノードを使えばScreen Space Reflectionsを使わなくても良い。

シャボン玉を作った時の例

ノードの例

Glass BSDFTransparent BSDFMix Shaderで繋ぎLayer WeightからFacを接続

または

Glossyを使った例

Glass BSDFではなくGlossy BSDFを使うとLayer Weightなしでも近いものができる。

組み合わせても質感が変わって面白い。

レンダ結果

このケースだと背景のHDRIの助けがあってそこそこ良さげにレンダリングできているがScreen Space Reflectionsを使ったほうがきれいに見える印象。

このノードの組み方とScreen Space Reflectionsを組み合わせることで更に一歩良くなるように見える(演算負荷と相談)

さいごに

この記事の内容を詳しく解説しているサイトは他にたくさんある(ガラスっぽくする手法)

そして初心者ならその指示に従って設定をしていくので躓くことは少ないだろう。

しかし、逆に慣れてくると記憶を頼りに設定するので「あれ、どの設定だっけ?」というピンポイントな部分で混乱するケースがあると思ったので逆引き用として記事にしてみた。

というか私がそう。

誰かの助けになれば幸いだ。



謎の技術研究部 (謎技研)