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

[Blender 2.8] 引っ張って変形 [フックモディファイアー]

[Blender 2.8] オブジェクトを頂点や制御点で引っ張って変形をするのに便利な、フックモディファイアーの機能と使い方のご紹介

今回の記事は、Blenderの『フックモディファイアー』についてです。

『フックモディファイアー』は、別のオブジェクト(通常、使用されるのはエンプティかボーンですが、どのオブジェクトでも可能です)を使用してメッシュ、カーブ、またはラティスを変形するために使用されます。

「フック」として指定されたオブジェクトが移動すると、それによってジオメトリから頂点、または制御点が引っぱられます。

Blender フック モディファイアー 3DCG モデリング カーブ
カーブの制御点に『フックモディファイアー』を使用した例
Blender フック モディファイアー 3DCG モデリング カーテン 窓
『フックモディファイアー』と『クロスシミュレーション』を併用した例

設定によっては、『プロポーショナル編集』のような変形が出来ます。

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

『フックモディファイアー』では、『シェイプキー』のように頂点の動きを細かく制御することはできませんが、頂点を直接選択して操作できるという利点があります。

『シェイプキー』について、詳しくは下記記事をご覧ください。

目次

まず最初に

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

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

追加されると↓のように表示されます([オブジェクトモード]、[編集モード]で表示されるボタンが変化します)。

Blender フック モディファイアー 3DCG モデリング
[オブジェクトモード]での表示
Blender フック モディファイアー 3DCG モデリング
[編集モード]での表示

『フックモディファイアー』は、元のメッシュの頂点インデックスを保存して、何に影響を与えるかを決定します。つまり、『サブディビジョンサーフェスモディファイアー』などのジオメトリを生成するモディファイアーは、モディファイアースタックの[フック]の後に常に配置しておく必要があります。それ以外の場合、生成されたジオメトリはフックの影響を受けません。

ちなみに、『サブディビジョンサーフェスモディファイアー』について、詳しくは下記記事をご覧ください。

基本的な使い方

フック用の『エンプティ』と『アーマチュア』を割り当てる方法の中で、私が知る中でそれぞれ一番簡単だと思う方法をご紹介します。

エンプティを使用する方法

  1. まずは適当なメッシュオブジェクトを用意しておきます。
Blender フック モディファイアー 3DCG モデリング
  1. メッシュオブジェクトを選択した状態で[編集モード]へ移り、フックを割り当てたい頂点を選択して、[頂点]>[フック]メニューか、[Ctrl]+[H]で表示される[フック]メニューから、[新規オブジェクトにフック]を選択します(この方法で設定する場合は、事前にモディファイアースタックに、『フックモディファイアー』をセットしておく必要はありません)。すると、自動的にフックが割り当てられたエンプティオブジェクトが新規作成されます。
Blender フック モディファイアー 3DCG モデリング エンプティ
  1. [オブジェクトモード]へ移り、エンプティオブジェクトを動かすと、メッシュオブジェクトがその動きに合わせて変形します。
Blender フック モディファイアー 3DCG モデリング エンプティ

アーマチュアを使用する方法

  1. まずは適当なメッシュオブジェクトと、アーマチュアを用意します。この時のボーンの位置は、変形させたい頂点の位置にセットしておきます。
Blender フック モディファイアー 3DCG モデリング アーマチュア ボーン
  1. アーマチュアを選択した状態で、[ポーズモード]へ移り、変形に使用したいボーンを選択します。
Blender フック モディファイアー 3DCG モデリング アーマチュア ボーン
  1. [オブジェクトモード]へ移り、「アーマチュア→メッシュオブジェクト」の順で選択し、[編集モード]へ移ります。
Blender フック モディファイアー 3DCG モデリング アーマチュア ボーン
  1. フックを割り当てたい頂点を選択し、[頂点]>[フック]メニューか、[Ctrl]+[H]で表示される[フック]メニューから、[選択オブジェクトボーンにフック]を選択します(この方法で設定する場合は、事前にモディファイアースタックに、『フックモディファイアー』をセットしておく必要はありません)。
Blender フック モディファイアー 3DCG モデリング アーマチュア ボーン
  1. [オブジェクトモード]へ移って、アーマチュアを選択し、[ポーズモード]へ移り、フックを割り当てたボーンを選択して動かします。すると、ボーンと一緒にメッシュも変形します。
Blender フック モディファイアー 3DCG モデリング アーマチュア ボーン

[フック]の詳細設定項目一覧

[オブジェクト(Object)]

頂点をフックするオブジェクトの名前。

[ボーン(Bone)]

サブターゲット。

(該当する場合)フックに使う親ボーンの名前で、再計算やオフセットのクリアにも使用します。

[オブジェクト]にアーマチュアが設定されている場合に表示される項目。

Blender フック モディファイアー 3DCG モデリング アーマチュア

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

頂点毎の影響を定義する頂点グループ。

球状に形成する影響フィールド以外の部分にも影響を及ぼしたい場合に役立ちます。

ちなみに、『頂点グループ』そのものについてや、基本的な扱い方については下記記事で詳しく取り扱っておりますので、そちらをご覧ください。

例えばこんな頂点グループを用意します。

Blender 平面 メッシュ 頂点グループ ウェイトペイント 3DCG モデリング
交互に”1″と”0″を割り当てた頂点グループ

その頂点グループをセットして、[半径: 4m]、[減衰タイプ: スムーズ]で設定してみましたら↓のようになりました。

Blender フック モディファイアー 3DCG モデリング
[頂点グループ]

[半径(Radius)]

フックの影響のサイズ。

まずは、分かりやすくするためにある程度細分化し、頂点を全てフック用のエンプティに割り当てたメッシュオブジェクトを用意しておきます。

Blender 平面 メッシュ 3DCG モデリング
細分化したメッシュの全ての頂点をフックに割り当て

その上で、エンプティをZ軸上で少し上に動かした状態で[半径]の値を変化させてみると↓のようになります。

Blender フック モディファイアー 3DCG モデリング
[半径]

この[半径]は、ワールド空間でのスケールの値が係数となるため、ローカル空間(編集モード)での拡大縮小なら問題ありませんが、ワールド空間(オブジェクトモード)での拡大縮小がされていた場合、実際に影響を及ぼす範囲が違ってきますのでご注意ください。

Blender フック モディファイアー 3DCG モデリング
スケールの違いによる影響の範囲の違い

もし、ワールド空間で拡大縮小した場合、この[半径]の値通りに影響を及ぼしたい時には、後述の[フォールオフの均一化]を有効化して下さい。

Blender フック モディファイアー 3DCG モデリング
[フォールオフの均一化]によるスケーリングの均一化

[強さ(Strength)]

頂点に対するこのフックの影響を”0.0″~”1.0″の範囲で調整します(フックに完全に追従させるための変更はありません)。

複数のフックを同じ頂点で機能させる事が出来るため、そういった場合に、このプロパティを使用してフックの影響に重みを付けることが出来ます。

Blender フック モディファイアー 3DCG モデリング
[強さ]

[減衰タイプ(Falloff Type)]

この項目は、フックがメッシュに及ぼす影響カーブの種類を調整するために使用します。

Blender フック モディファイアー 3DCG モデリング
[減衰タイプ]一覧

まず、[減衰なし(No Falloff)]だと、[半径]の表示がなくなり、[半径: 0m]の時と同様の影響の仕方になります。

Blender フック モディファイアー 3DCG モデリング
[減衰なし(No Falloff)]

次に、[カーブ(Curve)]です。これも少し他のものと違って特殊で、カスタムカーブを定義して、より高いレベルの制御が出来ます。

Blender フック モディファイアー 3DCG モデリング
[カーブ(Curve)]

他のものは、特筆すべき事はありませんので、どんな感じになるのかだけざっとご紹介しておきます。こうして見ると、本当に『プロポーショナル編集』そのものですね。

Blender フック モディファイアー 3DCG モデリング
[スムーズ(Smooth)]
Blender フック モディファイアー 3DCG モデリング
[球状(Sphere)]
Blender フック モディファイアー 3DCG モデリング
[ルート(Root)]
Blender フック モディファイアー 3DCG モデリング
[逆二乗式(Inverse Square)]
Blender フック モディファイアー 3DCG モデリング
[シャープ(Sharp)]
Blender フック モディファイアー 3DCG モデリング
[リニア(Linear)]
Blender フック モディファイアー 3DCG モデリング
[一定(Constant)]

[フォールオフの均一化(Uniform Falloff)]

この設定は、スケーリングされたオブジェクトでフックを使用する場合、特に、不均一(non-uniform)なスケールがフックの結果を広げる場合に役立ちます。

これは、不均一なスケーリングを使用する事が一般的であるラティスで特に役立ちます。

この項目については、[半径]をご参考ください。

[リセット(Reset)]

フックのオフセットトランスフォームを再計算してクリアします。

[編集モード]でのみ使用できます。

Blender フック モディファイアー 3DCG モデリング
[リセット(Reset)]

[中心を再設定(Recenter)]

フックの中心を3Dカーソル位置に設定します。

Blender フック モディファイアー 3DCG モデリング
[中心を再設定(Recenter)]

[選択(Select)]

このフックの影響を受ける頂点、つまり、割り当てられている頂点を選択します。

[編集モード]でのみ使用できます。

Blender フック モディファイアー 3DCG モデリング
[選択(Select)]

[割り当て(Assign)]

選択した頂点をこのフックに割り当てます。

[編集モード]でのみ使用できます。

Blender フック モディファイアー 3DCG モデリング
[割り当て(Assign)]

おまけ: 作ってみたもの

Blender フック モディファイアー 3DCG モデリング カーテン 窓

使用素材: HDRI: Autumn Park | HDRI Havenkitchen_wood | Texture Haven

「フック」と聞いて思い浮かんだのが「カーテン」だったのですが、きっと誰か他に作ってる人居そう…と思って探してみたら、案の定いらっしゃいましたので、今回は、こちら↓の動画を参考に作成しました。

動画を見てしまえば本当に分かりやすくてすぐ出来るかとは思うのですが、一応、やり方を載せておきます。

  1. まずは、X軸周りで90°回転させた平面メッシュを用意して、ループカット([Ctrl]+[R])で、縦に35くらい分割します。(分割数は5の倍数がオススメ)
Blender フック モディファイアー 3DCG モデリング カーテン
  1. [辺選択モード]に変更して、円形選択などを使って、縦の辺だけ全て選択します。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. [選択]>[チェッカー選択解除]で交互に選択を解除した状態にします。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. 移動軸をY軸に限定して([G]→[Y])、選択中の辺をY軸方向にズラします。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. 今度は横にもループカットします。ここの数はある程度分割されていれば適当で良いです。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. 山(?)を一つ飛ばしでフックを掛けていきます。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. お好みの細かさになるまで、[細分化]します。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. 細かくて分かりづらいかもしれませんが、フックのかかっている頂点だけを全て選択しています。
Blender フック モディファイアー 3DCG モデリング カーテン
  1. 8で選択した頂点を新しく作成した頂点グループでウェイト”1.0″を割り当てます。
Blender フック モディファイアー 3DCG モデリング カーテン 頂点グループ
  1. メッシュに『クロスシミュレーション』を付与します。その際、[品質のステップ数: 12]に設定、[シェイプ]>[固定グループ]に先ほど作成した頂点グループをセットし、[セルフコリジョン]を有効にして[距離: 0.005]に設定します。
Blender クロス シミュレーション 3DCG モデリング
Blender クロス シミュレーション 3DCG モデリング

ちなみに、『クロスシミュレーション』について、詳しくは下記記事をご覧ください。

  1. アニメーション再生([スペースキー])すると、良い感じのカーテンになってくれます。
Blender フック モディファイアー 3DCG モデリング カーテン クロス シミュレーション
  1. 後は、もう一組カーテンを作ったり、フック用のエンプティの位置をアニメーションで移動させたり、おまけで窓やら床やら壁やら付けたりしたら、完成です。
Blender フック モディファイアー 3DCG モデリング カーテン 窓
Blender フック モディファイアー 3DCG モデリング カーテン 窓

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

お借りした素材

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

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

生成

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

Pocket

コメントを残す

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

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