へんてこのブログ

日々気づいたことや、最近やっていることを書いています

Blender 2.81で透過PNGの透過部分をメッシュでも透明にする

以下のようなテクスチャ(透過PNG)の透過部分をメッシュにも反映したい場合のことを書きます

f:id:henteko07:20191215014018p:plain:w400

BlenderをShader UIに変更してシェーダー設置する

Blenderの上のタブからShadingを選択してShader UIにします
またデフォルトではShadingタブは表示されていないと思うので、+ボタンから追加しましょう

f:id:henteko07:20191216191908p:plain

Shadingタブを選択したら、透過PNGを貼り付けたいメッシュ(今回は板ポリ)を選択して、マテリアルを適当に作ります
そしてデフォルトで作られているプリンシプルBSDFノードは削除してしまいましょう

次に以下の各ノードを追加します

  • テクスチャ → 画像テクスチャを追加
  • シェーダー → 透過BSDFを追加
  • シェーダー → ディフューズBSDFを追加
  • シェーダー → シェーダーミックスを追加

それらを以下のように繋げましょう
画像テクスチャノードには表示したい透過PNGを参照させてください

f:id:henteko07:20191216192058p:plain

ここまでで以下のような透過部分が真っ黒になった表示になります

f:id:henteko07:20191216192204p:plain

マテリアルの設定を変更してブレンドモードをアルファクリップへ変更する

次にBlender右にあるマテリアル設定から、ビューポート表示の設定項目内のブレンドモードを不透明からアルファクリップへ変更します

f:id:henteko07:20191216192443p:plain:h400

ここまでの変更で、透過PNGの透過部分が透明になった表示になります

f:id:henteko07:20191216192513p:plain

影のモードについて

f:id:henteko07:20191216225005p:plain:h400

レンダリング設定をCyclesにしていると関係ないんですが、Eeveeの場合は影のモードもアルファクリップにしないと透過部分が影にまで反映されないので注意してください

f:id:henteko07:20191216224919p:plain:w300f:id:henteko07:20191216224921p:plain:w300 f:id:henteko07:20191216225059p:plain:w300f:id:henteko07:20191216224924p:plain:w300

作例

以下のようなショートケーキのいちご部分をレンダリングしたときにこの設定を使いました

参考

www.3dcgnya.com