BlenderのCyclesで画像テクスチャの一部を透過させたい場合のノードの組み方を3通り紹介します。
1 .png形式の画像テクスチャを使用して透過させる方法 – プリンシプルBSDF(Principled BSDF)編
まずは.png形式の画像テクスチャをプリンシプルBSDF(Principled BSDF)ノードとつないで透過させる方法です。
.png形式の代わりにAlphaチャンネルに透過情報を持たせてある画像(32bitの.bmp画像など)も同様の方法で透過できます。
1.1 画像テクスチャの準備
サンプルとして画像1のような背景が透過しているBlenderのロゴの.png形式の画像テクスチャを使用します。

画像1
1.2 メッシュの準備
メッシュにはUV球(UV Sphere)を使用します。
追加(Add)→ メッシュ(Mesh)からUV球(UV Sphere)を追加します(画像2参照)。
追加したUV球(UV Sphere)にマテリアルを設定します。
UV球(UV Sphere)を選択した状態で、プロパティ(Properties)→ マテリアルプロパティ(Material Properties)にある新規(New)をクリックしてマテリアルを設定します(画像3参照)。
1.3 ノードの組み方
エディタータイプ(Editor Type)を3Dビューポート(3D Viewport)からシェーダーエディター(Shader Editor)に切り替えます(画像4参照)。
エリア設定(Area Options)の分割(Split)などで画面を分割しても構いません。
シェーダーエディター(Shader Editor)に画像5のようなノードが設定されていることを確認してください(ノードが表示されない場合は追加したUV球(UV Sphere)を選択し直してみてください)。
追加(Add)→ テクスチャ(Texture)から画像テクスチャ(Image Texture)ノードを追加して、フォルダのアイコンの(Open Image)をクリックして(画像6参照)、画像テクスチャ(この場合は画像1の画像)を開きます。
画像テクスチャをシェーダーエディター(Shader Editor)に直接ドラッグアンドドロップすることで上と同じ操作となるので、こちらの方法も覚えておくと便利です。
画像テクスチャ(Image Texture)ノードとプリンシプルBSDF(Principled BSDF)ノードを、画像7のようにColor → Base ColorとAlpha → Alphaとなるようにつなぎます。
1.4 レンダリング
この状態でレンダリングすると画像8のようになります。
Color → Base Colorだけをつないで、Alpha → Alphaをつながない場合は画像8.5のようなレンダリング結果となります。
2 .png形式の画像テクスチャを使用して透過させる方法 – ディフューズBSDF(Diffuse BSDF)編
次に.png形式の画像テクスチャをディフューズBSDF(Diffuse BSDF)ノードとつないで透過させる方法です。
先程と同じく画像1のテクスチャと画像2のUV球(UV Sphere)を使用して、画像9のようにノードを組みます。
透過BSDF(Transparent BSDF)、ディフューズBSDF(Diffuse BSDF)、ミックスシェーダー(Mix Shader)はすべて追加(Add)→ シェーダー(Shader)にあります。
ミックスシェーダー(Mix Shader)ノードにつないだ透過BSDF(Transparent BSDF)ノードとディフューズBSDF(Diffuse BSDF)ノードは上下を逆にしないように注意してください。
この状態でレンダリングすると画像8のようになります。
ディフューズBSDF(Diffuse BSDF)ノードの代わりにプリンシプルBSDF(Principled BSDF)ノードを使用しても同じレンダリング結果になります。
3 マスク画像を使用して透過させる場合
最後にマスク画像を使用して透過させる方法です。
3.1 画像テクスチャの準備
サンプルとして画像10のような背景が白で透過していないBlenderのロゴの画像テクスチャと(背景は白でなくても構いません)、

画像10
画像11のようなBlenderのロゴの部分が白で背景が黒になっているマスク用の画像テクスチャを使用します。

画像11
マスク用の画像テクスチャは透過させたくない部分を白に、透過させたい部分を黒にします。
3.2 ノードの組み方
上のふたつの画像テクスチャと画像2のUV球(UV Sphere)を使用して、画像12のようにノードを組みます。
上の画像テクスチャ(Image Texture)ノードには画像11のマスク用の画像テクスチャを、下の画像テクスチャ(Image Texture)ノードには画像10のロゴの画像テクスチャを使用します。上下を逆にしないように注意してください。
ミックスシェーダー(Mix Shader)ノードにつないだ透過BSDF(Transparent BSDF)ノードとディフューズBSDF(Diffuse BSDF)ノードは上下を逆にしないように注意してください。
この状態でレンダリングすると画像8のようになります。
ディフューズBSDF(Diffuse BSDF)ノードの代わりにプリンシプルBSDF(Principled BSDF)ノードを使用しても同じレンダリング結果になります。
4 3Dビューのシェーディング(Viewport Shading)のマテリアルプレビュー(Material Preview)で透過を反映させる方法
3Dビューのシェーディング(Viewport Shading)のマテリアルプレビュー(Material Preview)で透過を反映させる方法は、下記の記事で紹介をしています。

以上、「BlenderのCyclesで透過テクスチャを使用する場合のノードの組み方」でした。
※この記事で使用しているのはBlender 2.93です。
※Blender 2.79bなどのCyclesでも同様のノードの組み方で透過させることが可能です。
コメント