Blenderで使用できるシュリンクラップ(Shrinkwrap)というモディファイア―(Modifier)の使用方法を紹介します。
1 シュリンクラップ(Shrinkwrap)とは
シュリンクラップ(Shrinkwrap)は、あるメッシュを別のメッシュの表面に貼り付けることができるモディファイア―(Modifier)です。
リトポロジーをする際にスナップ(Snap)と同時に使用したり、平面のメッシュをデカールのように貼りつけたりする際に使用します。
2 シュリンクラップ(Shrinkwrap)の基本的な使用方法
画像1のように別々のオブジェクトとして配置した平面(Plane)とUV球(UV Sphere)を説明用に使用します。
オブジェクトモード(Object Mode)のまま平面を選択したら、プロパティ(Properties)>モディファイア(Modifier)でモディファイア―を追加(Add Modifier)をクリックしてサブディビジョンサーフェス(Subdivision Surface)を追加します。シンプル(Simple)を選択して、ビューポートのレベル(Levels Viewport)は3に設定します(画像2参照)。
平面を選択したままさらにシュリンクラップ(Shrinkwrap)を追加して、ターゲット(Target)にUV球を指定します(画像3参照)。
すると画像4のように、平面がUV球の表面に貼り付きます。
順番は上からサブディビジョンサーフェス(Subdivision Surface)⇒シュリンクラップ(Shrinkwrap)となるようにしてください。
以上がシュリンクラップ(Shrinkwrap)の基本的な使用方法です。
3 シュリンクラップ(Shrinkwrap)の各設定
ここでは画像1の平面とUV球を使用して、シュリンクラップ(Shrinkwrap)の各設定について説明をしていきます。
3.1 ラップ方法(Wrap Method)
ラップ方法(Wrap Method)(画像5参照)は、リトポロジーをする際には最近接表面の点(Nearest Surface Point)またはターゲットの法線で投影(Target Normal Project)を使用して、デカールのように貼りつけたりする際にはプロジェクト(Project)を使用することが多いです。
3.1.1 最近接表面の点(Nearest Surface Point)
最近接表面の点(Nearest Surface Point)を選択した場合、平面の各頂点がUV球の最も近いポイントに貼り付きます。この場合のポイントとはUV球の頂点・辺・面のすべてを含みます。
デフォルトでは最近接表面の点(Nearest Surface Point)が選択されています。
最近接表面の点(Nearest Surface Point)を選択した場合、画像6のように貼りついた平面の端がガタガタになることもあります。
3.1.2 ターゲットの法線で投影(Target Normal Project)
ターゲットの法線で投影(Target Normal Project)では、最近接表面の点(Nearest Surface Point)と似たような結果になりますが、貼り付いた形状はターゲットの法線で投影(Target Normal Project)を使用した場合の方がきれいになることが多いです。
ターゲットの法線で投影(Target Normal Project)を選択した場合、画像7のように貼りついた平面の端が滑らかになります。
3.1.3 最近接頂点(Nearest Vertex)
最近接頂点(Nearest Vertex)を選択した場合、平面の各頂点がUV球の最も近い頂点に貼り付きます。
最近接頂点(Nearest Vertex)では、ターゲットで指定するメッシュ(この場合ではUV球)の頂点数が少ない場合は、同じ頂点に重なって貼り付くこともあります。
3.1.4 プロジェクト(Project)
プロジェクト(Project)を選択した場合、平面の各頂点が設定した軸または法線に沿ってまっすぐ投影するようにしてUV球に貼り付きます。この場合の軸とは、メッシュのローカルな軸です。
ここでは半分くらいの大きさにした4つの平面とUV球を画像8のように配置したものを説明用に使用します。
平面の法線を面の向き(Face Orientation)で確認すると画像9のようになっています。
これまでと同じように平面にサブディビジョンサーフェス(Subdivision Surface)を追加して、シンプル(Simple)を選択して、ビューポートのレベル(Levels Viewport)を3に設定します。
さらにシュリンクラップ(Shrinkwrap)も追加して、ターゲット(Target)にUV球を設定して、ラップ方法(Wrap Method)でプロジェクト(Project)を選択します(画像10参照)。
座標軸(Axis)では平面を投影する方向を決定します。ここでXYZの軸を選択しない場合(青が選択状態です)は、法線方向に投影されます。座標軸(Axis)は複数選択が可能です。
負(Negative)と正方向(Positive)では、設定した軸のプラス方向またはマイナス方向を決定します。法線の場合は、表方向と裏方向になります。負(Negative)と正方向(Positive)は両方にチェックを入れることも可能です。
現在平面に何も変化がないと思いますが、これはプロジェクト(Project)の座標軸(Axis)の設定が、画像10で確認できるように法線の表方向に投影するようにデフォルトで設定されているからです。言い換えると法線の表方向にターゲットがある場合にだけ投影して、法線の表方向にターゲットがない場合は投影しないように設定されているからです。
正方向(Positive)のチェックを外して負(Negative)にチェックを入れると、法線の裏方向への投影になるので、画像11のように貼りつきます。
また、座標軸(Axis)でXのみを選択して負(Negative)にチェックを入れると、X軸の負(Negative)への投影となるので、画像12のようになります。
さらに、座標軸(Axis)でZのみを選択して正方向(Positive)と負(Negative)の両方にチェックを入れると、Z軸の正方向(Positive)と負(Negative)の両方への投影となるので、画像13のようになります。
これまで説明してきたようにプロジェクト(Project)では設定した軸または法線と正方向(Positive)または負(Negative)にターゲットとなる対象がないと貼り付かないため、平面よりターゲット(Target)で指定するUV球が小さいと、画像14のようにターゲットがある部分だけ貼り付き、ターゲットがない部分は貼り付かないということが起こります。
制限(Limit)に値を設定すると、メッシュ同士の貼り付く距離を設定できます。
サブディビジョンレベル(Subdivision Levels)については、よく分からなかったので説明は省きます。
追加のターゲット(Auxiliary Target)では、投影するふたつ目のターゲットとなるメッシュを設定できます。
3.2 スナップモード(Snap Mode)
スナップモード(Snap Mode)(画像15参照)では平面とUV球の位置(=平面がUV球の外側にあるのか内側にあるのか)によって、貼り付くか貼り付かないかを設定します。
ここでは画像16のように平面の一部がUV球と重なるように配置したものを説明用に使用します。
平面にサブディビジョンサーフェス(Subdivision Surface)を追加して、シンプル(Simple)を選択して、ビューポートのレベル(Levels Viewport)を6に設定します。
さらにシュリンクラップ(Shrinkwrap)を追加して、ターゲット(Target)にUV球を設定します。
3.2.1 サーフェス上(On Surface)
デフォルトではサーフェス上(On Surface)が選択されています。
サーフェス上(On Surface)では画像17のように、平面とUV球が重なっている部分も、平面とUV球が重なっていない部分も両方共貼り付きます。
スナップモード(Snap Mode)の4番目と5番目にあるサーフェスの外側(Outside Surface)と表面の上(Above Surface)については、サーフェス上(On Surface)との違いが分からなかったので、ここでは説明は省きます。
3.2.3 内側(Inside)
内側(Inside)では画像18のように、平面とUV球が重なっていない部分だけが貼り付き、平面とUV球が重なっている部分は貼り付きません。
UV球を非表示にすると画像19のようになります。
3.2.2 外側(Outside)
外側(Outside)は内側(Inside)と逆で、画像20のように平面とUV球が重なっている部分だけが貼り付き、平面とUV球が重なっていない部分は貼り付きません。
UV球を非表示にすると画像21のようになります。
3.3 ターゲット(Target)
ターゲット(Target)(画像22参照)では貼り付くメッシュを指定します。
3.4 オフセット(Offset)
オフセット(Offset)(画像23参照)では、ターゲット(Target)で指定したメッシュからの貼り付く距離を設定できます。
オフセット(Offset)の値をデフォルトの0mにすると、画像24のように重なるようにして貼り付きますが、
0.2mにすると、画像25のようにターゲット(Target)で指定したメッシュから0.2m離れた状態で貼り付きます。
3.5 頂点グループ(Vertex Group)
頂点グループ(Vertex Group)(画像26参照)を設定すると、その頂点グループ(Vertex Group)に含まれる頂点だけをシュリンクラップ(Shrinkwrap)で貼り付けることができます。
4 シュリンクラップ(Shrinkwrap)を追加するメッシュについて
4.1 頂点数について
シュリンクラップ(Shrinkwrap)を追加するメッシュの頂点数があまりに少ないと、きれいに貼り付かない場合があります。
平面にサブディビジョンサーフェス(Subdivision Surface)を追加して、ビューポートのレベル(Levels Viewport)を6に設定すると、画像27のように貼りつきますが、
平面をそのまま使用した場合は頂点数が4つしかないため画像28のように貼りつきます。
4.2 平面以外のメッシュを使用する場合
平面以外の立体的なメッシュにシュリンクラップ(Shrinkwrap)を追加する場合は、貼り付いたときに完全につぶれるかたちになってしまうので注意してください。
例えば平面の代わりにモンキー(Monkey)を使用した場合、画像29のようにUV球に貼り付きます。
つぶさないように貼りつけるにはサーフェス変形(Surface Deform)を使用する方法があるので、下記の記事を参照してください。
4.3 編集モードでの表示
シュリンクラップ(Shrinkwrap)を使用して平面をUV球に貼り付けた状態で編集モード(Edit Mode)に切り替えると、画像30のような表示になりますが、
シュリンクラップ(Shrinkwrap)のケージで(On Cage)をオンにすると、画像31のようにUV球に貼り付いた状態で表示されます。
4.4 ソリッド化(Solidify)を使用する場合
ソリッド化(Solidify)を使用して貼り付けたメッシュに厚みを持たせる場合は、上からシュリンクラップ(Shrinkwrap)⇒ソリッド化(Solidify)の順番になるようにしてください。
順番を逆にすると、4.2で説明したようにつぶれてしまいます。
4.5 表面を滑らかにする方法
シュリンクラップ(Shrinkwrap)で貼り付けたメッシュの表面が滑らかにならない場合は、シュリンクラップ(Shrinkwrap)を追加したメッシュの分割数を増やすか、ターゲット(Target)で指定するメッシュの分割数を増やします。
4.6 シュリンクラップ(Shrinkwrap)がうまくいかない場合
シュリンクラップ(Shrinkwrap)を追加するメッシュが平らになっていないときれいに貼り付かない場合があるので、平らにしてきれいに貼り付くか試してみてください(必ず平らにしたほうがいいというわけではありません)。
また、シュリンクラップ(Shrinkwrap)を追加するメッシュがターゲット(Target)で指定するメッシュに、一部は内部に埋まっていて、一部は外部に出ているという状態だときれいに貼り付かないことがあります。
このような場合はシュリンクラップ(Shrinkwrap)を追加するメッシュをターゲット(Target)で指定するメッシュにすべて埋まらないようにしてうまく貼りつくか試してみてください。
5 補足
平面をデカールのように貼りつける場合については下記の記事で詳しく紹介しているので参照してください。
以上、Blenderの「シュリンクラップ(Shrinkwrap)の使用方法」でした。
コメント