2022-12-04(更新)

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

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

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

2022/12/04:日本語版ユーザー用にも分かりやすいようにノード名などを加筆

ガラスっぽくしたい

BlenderのEeveeにて

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

デフォルトキューブ

Glass BSDF(グラスBSDF)を使ったり

Glass BSDFノード

Principled BSDF(プリンシプルBSDF)のTransmission(伝播)を1.00にして使うと思う。

Transmissionを1に

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

悪くなった例

むしろ悪くなっている。

よくある

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

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

設定方法

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

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

レンダープロパティ

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

  • 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(前方向)を接続

または

Glossyを使った例

Glass BSDF(グラスBSDF)ではなくGlossy BSDF(光沢BSDF)を使うとLayer Weight(レイヤーウェイト)なしでも近いものができる。

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

レンダ結果

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

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

さいごに

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

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

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

というか私がそう。

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



この記事をシェア


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