[Blender 2.9] 別の単純な形状のメッシュを使って緻密なメッシュをまとめて変形させるのに便利な、メッシュ変形モディファイアーの機能と使い方のご紹介
今回の記事は、Blenderの『メッシュ変形モディファイアー』についてです。
『メッシュ変形モディファイアー』を使用すると、任意の閉じた形状のメッシュを別のメッシュの周りの変形ケージとして機能させることが出来ます。

このモディファイアーは、かなり簡単に使用出来ますが、バインディング(変形メッシュケージと変形オブジェクトジオメトリ間のマッピング)の計算が非常に遅くなる可能性があります。
また、ケージを更にケージで覆うという二重のケージにして、変形に更に変形を加えるといった使い方も可能です。

ちなみに、メッシュオブジェクトではなくラティスオブジェクトをケージとして使う『ラティスモディファイアー』というものも存在します。ご興味湧かれましたら、是非、併せてご覧ください。
目次
まず最初に

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

ちなみにですが、バインド後にケージ用のメッシュオブジェクトの頂点数に変更があるような操作([編集モード]で編集したり、生成系のモディファイアーなどを追加)をすると、↓のようなエラーが表示されます。こういった場合には一度バインドを解除して、再度バインドする必要があります。

また、変形する側のメッシュオブジェクトも、バインド後に頂点数が変更になるような操作をすると、エラーが表示されます。ただし、こちらの場合は、モディファイアースタック内で[メッシュ変形]の後に生成系のモディファイアーが追加される分には、エラーしません。

基本的な使い方
- まず、変形したいメッシュオブジェクトと、変形に使うケージ用のメッシュオブジェクトを作成します。この時、変形したい部分が全てケージ内に収まっている事を確認してください。

念の為、ケージ用のメッシュの法線が外側を向いている事を確認してください(ケージの内側と外側を決定するために使用されます)。
メッシュの法線の、単純な内向き外向きについては、[Overlays]>[ジオメトリ]>[面の向き]から確認できます。(青だと外向き、赤だと内向き)

『法線』について、基本からBlenderでの扱い方も含めてもっと詳しく知りたい方は、下記記事をご覧ください。また、もし面の向きが逆になっていた場合の直し方についても同記事「『面の向き』の操作」にて記述しておりますので、そちらをご参照ください。
- 次に、変形したいオブジェクトに『メッシュ変形モディファイアー』を追加します。

- [オブジェクト]にケージ用のオブジェクトを設定します。

- [バインド]ボタンを押してバインドします。場合によってはバインドに時間が掛かる場合があります。[バインド]の表示が[バインド解除]になるまで待ってください。

- ケージ用のオブジェクトを変形させると、中に存在するオブジェクトも一緒に変形します。

[メッシュ変形]の詳細設定項目一覧
[オブジェクト(Object)]
変形ケージとして使用されるメッシュオブジェクト名。
[頂点グループ(Vertex Group)]
メッシュオブジェクトのオプションの頂点グループで、このモディファイアーの影響を受ける頂点を制限します。このグループに所属しない頂点は変形されません。
『頂点グループ』そのものについて、また、基本的な使い方等について、詳しくは下記記事をご覧ください。
例えば、変形するメッシュオブジェクトに、↓のような、上から下にグラデーションしている頂点グループを用意します。

その頂点グループを設定した状態で、ケージ用のオブジェクトを変形させると、”1.0″に近いウェイトが割り当てられている上の部分程、モディファイアーの影響を受け変形しているのに対し、”0.0″に近いウェイトが割り当てられている下の部分程影響を受けず変形していないのがお分かりになるかと思います。

[反転(Invert)] –[⇔]ボタン
選択した頂点グループに割り当てられているウェイト値を反転して、モディファイアーの影響を及ぼします。つまり、モディファイアーによって変形されない頂点が影響を受けるようになり、変形されていた頂点が影響を受けなくなります。

[精度(Precision)]
ケージ上のポイントが移動した時に、変形メッシュケージが変形したオブジェクトを変更する精度を制御します。この値を高くすると、バインディングの計算にかかる時間が大幅に増加しますが、変形したオブジェクトへのケージのマッピングがより正確になります。
ケージがバインドされると、この設定は変更できなくなります。

[ダイナミック(Dynamic)]
有効にすると、バインド時に、他のメッシュ変更機能(他のモディファイアーやシェイプキーなど)が考慮され、変形の品質が向上します。
バインド時のメモリと処理時間を節約するために、この設定はデフォルトで無効になっています。[精度]と同様に、ケージがバインドされると、この設定は変更できなくなります。

『シェイプキー』について、詳しくは下記記事をご覧ください。
[バインド(Bind)]
変更されたジオメトリと一緒に選択された変形オブジェクトの両方の現在位置をリンクします。バインドされていない『メッシュ変形モディファイアー』は効果がありません。変形メッシュケージの形状を変更すると、変更されたオブジェクトの形状が実際に変更されるようにするには、必ずこの[バインド]をする必要があります。
モディファイアーの設定と変形メッシュケージや変形オブジェクトの複雑さによっては、この操作が完了するまでに長い時間がかかる場合があります。これにより、Blenderが完了するまでユーザーのアクションに応答しなくなる可能性があります。
また、Blenderがメモリ不足でクラッシュする可能性もあります。
安全の為、続行する前にブレンドファイルを保存してください!
[バインド解除(Unbind)]
変形されたオブジェクトが変形メッシュケージに関連付けられている場合、[バインド解除]ボタンをクリックして、関連付けを解除できます。
[バインド解除]をクリックすると、変形したオブジェクトは、変形メッシュケージにバインドされる前の元の形状にリセットされます。ただし、変形メッシュケージはその時点の形状を維持し、元の形状にリセットされません。元の形状が必要な場合は、変更する前にそのコピーを保存する必要があります。
ケージメッシュ全体に大きな変更を加えると(ケージを上下逆に回転させるなど)、顕著なアーティファクトが発生する可能性があります。
これらは、より高い[精度]でバインドすることで削減できますが、これはこのモディファイアーの既知の制限であり、完全に回避することはできません。
おまけその1: 作ってみた物1
使用素材: HDRI: Autumn Park | HDRI Haven
ケージ用のメッシュオブジェクトを、シェイプキーで変形させつつ、回転させて、

変形させるメッシュオブジェクトの方には、『メッシュ変形モディファイアー』と共に、『波モディファイアー』で揺れさせるアニメーションを作成しました。

ちなみに、『シェイプキー』、『波モディファイアー』について、詳しくは、それぞれについて過去に執筆いたしました記事がございますので、そちらをご覧ください。
おまけその2: 作ってみた物2
『メッシュ変形モディファイアー』と『クロスシミュレーション』の併用で、髪を靡かせるアニメーションを作成してみました。モデルは以前作った物を引っ張り出してきたものです。(髪に何もテクスチャ使ってなくてメッシュそのままですみません。)
方法に関しましては、↓の動画を参考にさせて頂きました。
参考にさせて頂いたサイト・ページ一覧
- Mesh Deform Modifier — Blender Manual
- Blender Tutorial I Mesh Deform Modifier – YouTube
- Blender dynamics (quick and fast) cloth, hair, flags Real-time Tutorial – YouTube
- Blenderのヘアーパーティクルをメッシュに加工する| -GRAPH 3D
お借りした素材一覧
モディファイアー関連の記事のご紹介
この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。
変更
- データ転送
- メッシュキャッシュ
- メッシュ連番キャッシュ