Blenderでロゴ・デカール・シールなどをきれいに貼る方法の続きです。
最後はモディファイア(Modifier)のシュリンクラップ(Shrinkwrap)で貼り付ける方法です。
1 シュリンクラップ(Shrinkwrap)を使用する方法
シュリンクラップ(Shrinkwrap)を使用する方法では、ロゴを貼る土台となるメッシュとロゴ用のメッシュを使い分ける必要があります。
ここではサイズが共に512*512の画像1左側のような背景用の画像と、画像1右側のようなBlenderのロゴの画像を例として使用して、
画像2のようにUV球にロゴを貼る方法を紹介します。
手順1
3Dビューポート(3D Viewport)のヘッダーで追加(Add)>メッシュ(Mesh)からUV球(UV Sphere)を追加したら、メッシュ全体をスムーズシェード(Shade Smooth)にします(画像3参照)。
さらに、マテリアルが確認できるように3Dビューのシェーディング(Viewport Shading)をマテリアルプレビュー(Material Preview)に設定しておきます(画像4参照)。
手順2
UV球を選択したままシェーダーエディター(Shader Editor)を表示して、ヘッダーにある新規(New)をクリックして(画像5参照)マテリアルを追加します。
さらにノードを画像6のようにつなげます。
画像7で使用しているノードは左から以下のようになっています。
- 追加(Add)>テクスチャ(Texture)から追加した画像テクスチャ(Image Texture)ノードです。背景用の画像を設定します。
- プリンシプルBSDF(Principled BSDF)ノードとマテリアル出力(Material Output)ノードは初めからあったものです。
この時点で3Dビューポート(3D Viewport)の視点をテンキーの7キーなどを使用して上(Top)にして確認するとUV球は画像7のようになっています。
ロゴを貼る土台となるメッシュはこれで完成です。
この後の作業のためにUV球は一旦非表示にしておきます。
手順3
3Dビューポート(3D Viewport)のヘッダーで追加(Add)>メッシュ(Mesh)から平面(Plane)を追加したら、メッシュ全体をスムーズシェード(Shade Smooth)にします。
3Dビューポート(3D Viewport)の視点を上(Top)にして確認すると平面は画像8のようになっています。
平面を選択して、プロパティ(Properties)>オブジェクトプロパティ(Object Properties)>可視性(Visibility)>レイの可視性(Ray Visibility)の影(Shadow)のチェックを外しておきます(画像9参照)。これでロゴの影がUV球に映らなくなります。
手順4
平面を選択したままシェーダーエディター(Shader Editor)を表示して、ヘッダーにある新規(New)をクリックして(画像10参照)マテリアルを追加します。
さらにノードを画像11のようにつなげます。
画像11で使用しているノードは左から以下のようになっています。
- 追加(Add)>テクスチャ(Texture)から追加した画像テクスチャ(Image Texture)ノードです。ロゴの画像を設定します。
- プリンシプルBSDF(Principled BSDF)ノードとマテリアル出力(Material Output)ノードは初めからあったものです。
アルファ(Alpha)同士を忘れずにつなげてください。
手順5
3Dビューのシェーディング(Viewport Shading)のマテリアルプレビュー(Material Preview)で透過情報が確認できるように、プロパティ(Properties)>マテリアルプロパティ(Material Properties)>ビューポート設定(Viewport Settings)>設定(Settings)>ブレンドモード(Blend Mode)をアルファハッシュ(Alpha Hashed)に切り替えます(画像12参照)。
上記はCyclesを使用している場合で、Eeveeを使用している場合はビューポート設定(Viewport Settings)はありません。
この時点で平面は画像13のようになっています。
手順6
UV球を再度表示させたら、平面の大きさと位置をロゴを貼りたい位置に合わせます。
今回は視点を上(Top)にして画像14のように合わせます。
ロゴを貼りたい位置から見て画像15のように平面がUV球よりも大きい場合、この後設定するシュリンクラップ(Shrinkwrap)でうまく貼りつかないので、画像14のようにロゴを貼りたい位置から見て平面がUV球よりも小さくなるようにしてください。
画像14は視点を前(Front)にすると画像16のようになっています。
手順7
平面を選択してプロパティ(Properties)>モディファイアプロパティ(Modifier Properties)>モディファイア―を追加(Add Modifier)からサブディビジョンサーフェス(Subdivision Surface)を追加して、シンプル(Simple)を選択して、ビューポートのレベル数(Levels Viewport)とレンダ―(Render)の値を4に設定します(画像17参照)。
さらに、シュリンクラップ(Shrinkwrap)を追加して、ラップ方法(Wrap Method)をプロジェクト(Project)に変更して、負(Negative)にチェックを入れて、ターゲット(Target)でUV球(Sphere)を設定します。また、オフセット(Offset)の値を少しだけ上げて平面とUV球が重ならないようにします(画像18参照)。
以上で完成です(画像19参照)。
視点を前(Front)にすると、画像20のように平面がUV球に貼り付いていることが確認できます。
2 補足
2.1 モディファイア(Modifier)の順番
モディファイア(Modifier)の順番は上からサブディビジョンサーフェス(Subdivision Surface)⇒シュリンクラップ(Shrinkwrap)の順番です。
順番を逆にすると平面の頂点数が少ないためシュリンクラップ(Shrinkwrap)でうまく貼りつきません。
2.2 面の向き(表と裏)
シュリンクラップ(Shrinkwrap)を使用する場合は、面の向き(表と裏)にも注意してください。
この記事で紹介した方法で平面がうまく貼りつかない場合は、平面の面の向きを逆にして試してみてください。
2.3 メッシュ同士の隙間
シュリンクラップ(Shrinkwrap)で貼り付けたメッシュ同士の隙間はサブディビジョンサーフェス(Subdivision Surface)のレベルを上げて、オフセットの値を小さくすることである程度は改善しますが、頂点の位置(この記事でいうとUV球と平面の頂点の位置)が違うため限界もあります。
メッシュ同士の隙間を少なくする方法にはブーリアン(Boolean)を使用する方法もあります。
この方法についてはAdding Decals to 3D Models – Blender 2.8 Tutorialという動画で紹介されています。
2.4 シュリンクラップ(Shrinkwrap)の使用方法について
以上、Blenderの「シュリンクラップ(Shrinkwrap)を使用してロゴやデカールをきれいに貼る方法」でした。
コメント