ジャンル雑多なゲーム・ゲーム制作関連の色々な情報を取り扱っているブログ。最近はBlenderについてが中心。
[Blender 2.9] 張り付くように変形 [シュリンクラップモディファイアー]

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

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

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

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

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング Tシャツ トップス 人
『シュリンクラップモディファイアー』による変形の例

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

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

目次

まず最初に

Blender シュリンクラップ モディファイアー 3DCG モデリング

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング

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

[ラップ方法(Wrap Method)]

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[最近接表面の点(Nearest Surface Point)]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[プロジェクト(Project)]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[最近接頂点(Nearest Vertex)]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[ターゲットの法線で投影(Target Normal Project)]
  • [最近接表面の点(Nearest Surface Point)] …これを選択した場合、最も近いターゲットの表面にメッシュをシュリンクします。
  • [プロジェクト(Project)] …これを選択した場合、選択した軸に沿って頂点が投影ターゲットに接触するまで頂点が投影されます。シュリンクターゲットに接触しない頂点は元の位置に残ります。追加オプションについて、詳しくは後述。
  • [最近接頂点(Nearest Vertex)] …これを選択した場合、シュリンクターゲットの最も近い頂点に頂点がスナップされます。また、これを選択した場合に、追加のオプションはありません。この方法では、[スナップモード]の設定をサポートしていません。
  • [ターゲットの法線で投影(Target Normal Project)] …これを選択した場合、[最近接表面の点]に似ていますが、大幅に遅くなる代わりに、遥かに滑らかな投影を生成します。最も近い点を見つける代わりに、補間された滑らかな法線が元の頂点の位置に向かって、または元の頂点の位置から離れている最も近い点を検索します。非多様体の境界辺は、法線を全ての垂直方向に放出する無限に近い薄い円柱として特別に処理されます。[フラットシェーディング]と[自動スムーズ]設定を無視します。

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

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング
[ラップ方法: プロジェクト]
[制限(Limit)]

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[制限]の数値による変化
[細分化レベル(Subdivision Levels)]

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

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

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

Blender シュリンクラップ モディファイアー モンキー UV球 3DCG モデリング
UV球でモンキーを包み込む

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

Blender シュリンクラップ モディファイアー モンキー UV球 3DCG モデリング
[細分化レベル]の数値による変化
[座標軸(Axis)]

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[座標軸]選択無し
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[X]のみ選択
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[Y]のみ選択
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[Z]のみ選択

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[X]、[Y]、[Z]全て選択
[負(Negative)]、[正方向(Positive)]

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[負]、[正方向]両方とも無効
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[負]のみ有効
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[正方向]のみ有効
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[負]、[正方向]両方有効
[面を間引く(Face Cull)]

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[オフ(Off)]の場合
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[前(Front)]の場合
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[後(Back)]の場合
memo: 面の前面/背面の確認方法について

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

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

Blender 面の向き 3DCG モデリング
[Overlays]メニュー>[ジオメトリ]>[面の向き]

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

Blender 面の向き 3DCG モデリング
面の表裏チェック

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

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[非投影面を反転]による変化
[追加のターゲット(Auxiliary Target)]

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

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[追加のターゲット]に2つ目のUV球を設定した場合

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

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

  • [サーフェス上(On Surface)] …頂点は常に移動されます。オフセットは、元の頂点と選択したターゲットポイントを元の位置に接続する投影線に沿って適用されます。
  • [内側(Inside)] …頂点が既にターゲット内にある場合、頂点は移動されません。オフセットは、許可されたボリュームを投影線に沿って内側に向かって縮小します。
  • [外側(Outside)] …頂点が既にターゲットの外側にある場合、頂点は移動されません。オフセットは、除外ボリュームを投影線に沿って外側に向かって拡張します。
  • [サーフェスの外側(Outside Surface)] …[サーフェス上]と似ていますが、オフセットは常にターゲットの外側に向かって適用されます。
  • [サーフェスの上(Above Surface)] …[サーフェス上]と似ていますが、オフセットはターゲットのスムーズな法線に沿って適用されます。

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[スナップモード: サーフェス上]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[スナップモード: 内側]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[スナップモード: 外側]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[スナップモード: サーフェスの外側]
Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[スナップモード: サーフェスの上]

[ターゲット(Target)]

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[ターゲット]

[オフセット(Offset)]

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[オフセット]

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

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

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

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

Blender 3DCG モデリング 唐草模様
左から右にグラデーションするようにウェイトを割り当てた頂点グループ

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様
[頂点グループ]に設定した時の変化

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

Blender シュリンクラップ モディファイアー 3DCG モデリング UV球 唐草模様 頂点グループ
[反転([⇔]ボタン)]の有効/無効時の変化

おまけ: 作ってみた物

Blender シュリンクラップ モディファイアー 3DCG モデリング リング 唐草模様

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

  1. まずは『プロポーショナル編集』を使って、一方をZ軸方向に縮小、もう一方をZ軸方向に拡大したトーラスを用意します。
Blender シュリンクラップ モディファイアー 3DCG モデリング リング 唐草模様

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

  1. 『キャストモディファイアー』を使って指輪の形に近づけ、『サブディビジョンサーフェスモディファイアー』を使って思いっきり細分化させておきます。
Blender シュリンクラップ モディファイアー 3DCG モデリング リング 唐草模様

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

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

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

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

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

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

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

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

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

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

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

生成

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

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください