サイトアイコン ほろほろりドットコム

[Blender 2.9] 張り付くように変形 [シュリンクラップモディファイアー]

[Blender 2.9] 別のオブジェクトに張り付くように変形させるのに便利な、シュリンクラップモディファイアーの機能と使い方のご紹介

この記事は、Blenderの『シュリンクラップモディファイアー』についてです。

『シュリンクラップモディファイアー』を使用すると、オブジェクトを別のオブジェクトの表面に「縮小」出来ます。変更されるオブジェクトの各頂点を、指定されたメッシュの表面上の最も近い位置に移動します(使用可能な方法4つのいずれかを使用)。

メッシュ、ラティス、カーブ、サーフェス、テキストに適用できます。

調べてみたところ、『シュリンクラップモディファイアー』は、服などを作成するのに使われるようです。

『シュリンクラップモディファイアー』による変形の例

ちなみにですが、服を作成する方法は、他にも『クロスシミュレ―ション』の「スプリング縫合」を使用するというものがあります。もしご興味湧かれましたら、下記記事の「[縫合(Sewing)]」という項目をご覧になってみてください。

※2020年9月4日 加筆修正を行いました。
※2020年11月12日 加筆修正を行いました。

目次

まず最初に

『シュリンクラップモディファイアー』を追加したいオブジェクトを選択しておき、[プロパティエディタ]>[モディファイアー]>[モディファイアーを追加]ボタンをクリックすると表示される一覧から、[シュリンクラップ]という項目を選びます。

追加されると↓のように表示されます。

[シュリンクラップ]の詳細設定項目一覧

[ラップ方法(Wrap Method)]

このセレクターでは、変更されたオブジェクトの各頂点について、ターゲットのサーフェス上の最も近い点を決定するために使用されるメソッドを指定します。一部のオプションは、パネルに追加の特定のコントロールを追加します。

ターゲットの頂点数が少ない時に、違いが特に顕著だと思われますので、ざっと比較してみました。

[最近接表面の点(Nearest Surface Point)]
[プロジェクト(Project)]
[最近接頂点(Nearest Vertex)]
[ターゲットの法線で投影(Target Normal Project)]

ちなみに、[フラットシェーディング][自動スムーズ]について、よくご存じない方は、詳しくは下記記事をご覧ください。

また、度々出てきた『法線』というものについても、よくご存じない方は、詳しくは下記記事をご参照ください。

[プロジェクト(Project)]で追加される特殊な設定項目一覧

[ラップ方法: プロジェクト]
[制限(Limit)]

この項目は、投影に使用される距離を制限します(“0″で無効)。距離がこの制限より大きい場合、頂点はサーフェスに投影されません。

[制限]の数値による変化
[細分化レベル(Subdivision Levels)]

この項目により、包み込む計算をする前に、変更されたオブジェクトのジオメトリに(一時的な)カトマル・クラークサブディビジョンが適用されます。

完全に包み込む形の例の方が変化が分かりやすかったので、この項目だけ、違うオブジェクトを使用してご説明します。

モンキーとモンキーを覆う形でUV球を配置し、UV球に『シュリンクラップモディファイアー』を追加し、モンキーを包み込みます。

UV球でモンキーを包み込む

その状態で、[細分化レベル]の数値を変化させてみますと、実際にメッシュが細分化されているわけではありませんが、徐々に覆われていない部分が少なくなっていっているので、恐らく計算の精度を上げるための項目なのだと推測します。

[細分化レベル]の数値による変化
[座標軸(Axis)]

変更されたオブジェクトのどのローカル軸に沿って投影が行われるかを選択します。これらのオプションは互いに組み合わせることが出来、投影の「中央軸」を生成します。何も選択されていない場合は法線方向が使用されます。

[座標軸]選択無し
[X]のみ選択
[Y]のみ選択
[Z]のみ選択

ちなみに、軸を複数選択することも可能です。

[X]、[Y]、[Z]全て選択
[負(Negative)]、[正方向(Positive)]

この項目により、選択した軸に沿った収縮の許容方向を選択できます。両方のオプションが有効になっている場合、両方の方法が評価され、最も近いヒットが選択されます。

[座標軸]を[Y]のみに固定した場合の例です↓

[負]、[正方向]両方とも無効
[負]のみ有効
[正方向]のみ有効
[負]、[正方向]両方有効
[面を間引く(Face Cull)]

ターゲットの面の「前面」(または各「背面」)からの投影を防ぐことが出来ます。面の「側面」は、その法線によって決定されます(「正面」は、法線が発生する側)。

[オフ(Off)]の場合
[前(Front)]の場合
[後(Back)]の場合
memo: 面の前面/背面の確認方法について

単純な面の表裏の方向の確認方法についてご紹介します。

とは言っても、[Overlays]メニューにて、[ジオメトリ]>[面の向き]のチェックボックスにチェックを入れて、有効化するだけです。

[Overlays]メニュー>[ジオメトリ]>[面の向き]

有効化すると、面の表が青色、面の裏が赤色で表示されます。

面の表裏チェック

ちなみに、下記記事の「『面の向き』とは?」で操作方法などについても含めて、詳しく書いておりますので、よろしければ合わせてご覧ください。

[非投影面を反転(Invert Cull)]

[面を間引く]が有効で、軸に沿った[負]の方向が許可されている場合、このオプションを使用して、負の方向の前面または背面の設定した選択を反転出来ます。これは、両方向に投影する場合に役立ちます。

[非投影面を反転]による変化
[追加のターゲット(Auxiliary Target)]

投影する追加オブジェクト。

設定すると、2つのオブジェクトに投影できるようになります。

[追加のターゲット]に2つ目のUV球を設定した場合

[スナップモード(Snap Mode)]

ほとんどの[モード]では、上記の方法で選択したターゲットポイントに頂点を移動する方法を制御する追加設定がサポートされています。一部のものは、[オフセット]が”0″でない場合にのみ異なり、”0″である場合には同じような結果になります。

[内側]オプションと[外側]オプションは、非常に大まかな衝突検出に使用できます。内側と外側の決定は、ターゲットの法線に基づいて行われます。ターゲットメッシュ内で常に90度と鋭角に近いとは限りません。

[スナップモード: サーフェス上]
[スナップモード: 内側]
[スナップモード: 外側]
[スナップモード: サーフェスの外側]
[スナップモード: サーフェスの上]

[ターゲット(Target)]

収縮するターゲットのメッシュ。

[ターゲット]

[オフセット(Offset)]

ターゲットから保つ距離。

[オフセット]

[頂点グループ(Vertex Group)]

頂点グループは、各頂点がそのターゲット位置に移動するかどうか、および移動する量を制御します。頂点がこのグループに所属していない場合、その頂点は変位しません(ウェイト”0″と同じ)。

『頂点グループ』そのものについて、または基本的な扱い方について等、詳しくは下記記事をご覧ください。

例えば、↓のような頂点グループを用意します。

左から右にグラデーションするようにウェイトを割り当てた頂点グループ

用意した頂点グループを設定すると、割り当てられているウェイトが”1.0″(赤色)に近い程、ターゲットオブジェクトの近くに張り付く形に変形し、逆に、ウェイトが”0.0″(青色)に近い程、ターゲットオブジェクトから遠くに位置し、あまり元の形状から変形しなくなっています。

[頂点グループ]に設定した時の変化

ちなみに、[反転([⇔]ボタン)]を有効にすると、頂点グループの影響を反転することが出来ます。

[反転([⇔]ボタン)]の有効/無効時の変化

おまけ: 作ってみた物

作り方は↓の動画を参考にさせて頂きました。

  1. まずは『プロポーショナル編集』を使って、一方をZ軸方向に縮小、もう一方をZ軸方向に拡大したトーラスを用意します。

ちなみに、『プロポーショナル編集』については、下記記事をご覧ください。

  1. 『キャストモディファイアー』を使って指輪の形に近づけ、『サブディビジョンサーフェスモディファイアー』を使って思いっきり細分化させておきます。

『キャストモディファイアー』、『サブディビジョンサーフェスモディファイアー』について、それぞれ詳しく書いた記事がございますがので、よろしければ合わせてご覧ください。

  1. カーブオブジェクトを、トーラスより少し半径を余裕を持たせた大きさで配置します。
  1. 次に、平面オブジェクトを、X軸方向に細長めな菱形になるように編集し、『サブディビジョンサーフェスモディファイアー』を使用して楕円形にします。
  1. 楕円形の平面を、『カーブモディファイアー』を使って、先程配置したカーブに沿うように変形させます。

『カーブモディファイアー』について、詳しくは下記記事をご覧ください。

  1. 『シュリンクラップモディファイアー』を使用して、トーラスに貼り付けるように変形させます。
  1. 『ソリッド化モディファイアー』を使用し、トーラス側に厚み付けして、トーラスを貫通している状態にします。

『ソリッド化モディファイアー』について、詳しくは下記記事をご覧ください。

  1. トーラスに『ブーリアンモディファイアー』の[差分]を使って、楕円形のオブジェクトで穴を開けます。土台となるトーラスはとりあえずコレで完成です。

『ブーリアンモディファイアー』について、詳しくは下記記事をご覧ください。

  1. そこまで来たら、一時的に、楕円形の、『カーブモディファイアー』、『シュリンクラップモディファイアー』、『ソリッド化モディファイアー』の効果をビューポート上では非表示にし、平面に戻します。
  1. 楕円形の平面を型紙として、カーブオブジェクト等で、トーラスの穴開き部分に付ける装飾を作ります。
  1. 装飾が出来たら、楕円形の平面の一時的に非表示にしていたモディファイアーの効果をまた表示状態にし、装飾の方にも楕円形と同様に、『カーブモディファイアー』と『シュリンクラップモディファイアー』で変形します。この時、『シュリンクラップモディファイアー』の[ターゲット]がトーラスではなく、楕円形の方であることに注意してください。おまけで『サブディビジョンサーフェスモディファイアー』を使って細分化しています。
  1. ここまでで一応この状態です。
  1. 後はお好みでダイヤモンドなどを足せば完成です。ちなみに、『カーブモディファイアー』と『配列モディファイアー』を組み合わせてダイヤモンドを配置しました。

参考にさせて頂いたサイト・ページ一覧

モディファイアー関連の記事のご紹介

この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。

生成

Blenderに関する記事や作品をまとめたページ作りました!

Blender Note
モバイルバージョンを終了