久しぶりのBlenderネタです。
Twitterを眺めていたらタイトルにあるような方法をやっていた方の情報が流れてきたので、それを実際にやってみた備忘録になります。
基本的には参考資料の最初にあるページ様の内容とほぼ同じなので、詳しいことはそちらを参照してください。
では始めます。
0:使用する透過テクスチャの画像を用意する
今回は以下のような透過画像を作成したので必要な場合は右クリックでpng形式で保存してください。
以降はこの画像を使って説明していきます。
1:デフォルトCubeをUV展開して透過テクスチャを貼り付ける
今回はデフォルトCubeをそのまま使っていきます。
Blenderを起動してすでに出来ているCubeを選択した状態で「UV Editing」を選択します。
以下のようなUV展開用の画面になるので、左側画面の上部分にある「Open」のボタンをクリックして貼り付けたい透過画像を読み込みます。
読み込むと画像が表示されます。画像自体をblendファイルに同梱するために「Fake User」のボタンをクリックします。
次に右側画面の上部分にある「Face select」アイコンをクリックします。
面選択のモードになっているので、右側画面のCubeの一つの面をクリックで選択して右側のUV画面に一つの面のみになるようにします。
その状態で左側画面の各頂点を「A」キーで全選択し、「S」キーを押して拡大させます。
一番左側にあるメニューの「Move」アイコンをクリックし、マウスをドラッグさせて四角と画像が同じになるように調節します。
この動作を一通りやると以下のようになります。
これをCubeのすべての面について行い、面とテクスチャを合わせます。
2:UV展開した結果を適用する
すべての面についてテクスチャの合わせができたら「Layout」タブを選択します。
Cubeを選択した状態で「Material」タブをクリックし「Base Color」の左側にある部分をクリックします。
色々出てくるので「Image Texture」を選択します。
「Open」ボタンをクリックして、1で使用した画像と同じ透過画像ファイルを開きます。
画像を開いた後「Viewport Shading」アイコンをクリックするとUV展開した結果が適応されます。
しかし透過部分が黒くなっているので、次の手順で透過させていきます。
3:画像の透過を適応させる
では、ようやく本題の透過の適応をやっていきます。
Cubeを選択した状態で「Shading」タブを選択します。
以下のような画面になるのでノードを設定していきます。
ノード部分の画面で「Shift+Aキー」を押して出てくるメニューで「Shader」→「Transparent BSDF」を選択します。
「Transparent BSDF」のノードが追加されます。
同じように「Shift+Aキー」から「Shader」→「Mix Shader」を選択します。
「Mix Shader」のノードが追加されます。
以下のようにノードを繋ぎます。
ノードをすべて繋ぎ終えた後「Material」タブをクリックしてSettingsのBlender Modeを「Alpha Blend」を選択します。すると以下のように透過が適応されます。
4:影にも透過を適応させる
ノードの設定が終わったので「Layout」画面に切り替えます。
画面上で「Shift + Aキー」を押してメニューの「Mesh」→「Plane」を選択して影を落とすPlaneを追加します。
追加したPlaneを選択した状態で「S」キーを押して大きくします。
そのままだとPlaneにCubeが埋まっているので、CubeをPlaneの上にある位置まで移動させます。
Cubeを選択した状態で「Material」タブのSettingsのShadow Modeを「Alpha Hashed」を選択します。
バグなのかわかりませんが、即時に適応はされないのでPlaneを選択など別の操作をすると以下のように透過部分を適応させた影ができます。
おまけ:モードによるテクスチャと影の違い
透過テクスチャの表示のされ方は「Material」タブの「Settings」の「Blend Mode」によって変わってきます。
Blend Mode:Alpha Clip
Alpha Clipはぼかしなどの部分がべた塗りの時と同じような状態で表示されます。
Blend Mode:Alpha Hashed
Alpha Hashedはぼかし部分がスプレーのような感じに変換されて表示されます。
Blend Mode:Alpha Blend
Alpha Blendは透過画像のほぼそのままの状態で表示されます。
また透過部分の影のでき方は「Shadow Mode」によって違ってきます。
Shadow Mode:None
Noneは影が表示されません。
Shadow Mode:Opaque
Opaqueは透過テクスチャに関係なく元のオブジェクトそのものの影が表示されます。
Shadow Mode:Alpha Clip
Alpha ClipはBlend Modeの時と同様にぼかしがかかっている部分をべた塗りにした時のような影が表示されます。
Shadow Mode:Alpha Hashed
Alpha HashedはBlend Modeの時と同様にぼかし部分がスプレーのような感じに変換されて影が表示されます。
以上がBlender2.8で透過テクスチャを適応させた影を作る方法です。
何か色々なことに使えそうですね。
一応今回作成したBlendファイルを公開しておきます。
・参考資料
2019/8/1追記
他の手順は一緒でノードの繋ぎ方を以下のようにするだけでも透過テクスチャを適応できました。
また画像の出来栄えとしてEeveeよりもCyclesの方が元の画像に近い結果が得られるようです。
・Eeveeレンダーの場合
・Cyclesレンダーの場合