[Blender 2.8] 波のアニメーションをお手軽作成 [波モディファイアー]

今回の記事は、Blenderで、簡単に「波」のアニメーションを作成することが出来る『波モディファイアー』についてです。

このモディファイアーは、オブジェクトのジオメトリに波紋のような動きを追加することが出来ます。

メッシュだけでなく、ラティス、カーブ、サーフェス、およびテキストでも使用できるようです。

アニメーション再生中にオブジェクトを移動・回転・拡大縮小しても、このモディファイアーの動きが中断されたり阻害されたりせず、リアルタイムに波の動作に反映されます。

また、『頂点グループ』、そして、最近ご紹介しました3つの「頂点ウェイトを編集する」3つのモディファイアーと相性が良いように思います。

編集した『頂点グループ』を併用することで、より動的でクオリティが高いアニメーションが作れます。

ちなみに、『頂点ウェイト近傍モディファイアー』を併用して作ってみたものです。

Blender 波 頂点ウェイト近傍 モディファイアー 3DCG モデリング 立方体 平面 アニメーション
『頂点ウェイト近傍モディファイアー』と併用して作ったアニメーション

「頂点ウェイトを編集する」モディファイアー3つについて、詳しくは下記リンクそれぞれの記事をご覧ください。

目次

まず最初に

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

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

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

memo: “ローカル”空間の座標で計算される点に注意

このモディファイアーのすべての値はオブジェクトのローカル空間([編集モード]での座標)で保持されています。

つまり、実際の寸法を取得するには、オブジェクト([オブジェクトモード]での座標)の対応するスケール値と乗算する必要があります。

[波]の詳細設定項目一覧

[運動(Motion)]

指定された開始点([開始地点となるオブジェクト]か「原点」)から、波の効果として(通常)Z軸方向へ頂点・制御点に変形を加えます。

ここでは、波の効果の方向や、波の発生を繰り返させるかなどを制御します。

[X]

波のX軸方向の動きを有効にします。

[Y]が有効な場合は円形の波が形成され、[Y]が有効でない場合は直線的な波を形成します。

[Y]

波のY軸方向の動きを有効にします。

[X]が有効な場合は円形の波が形成され、[X]が有効でない場合は直線的な波を形成します。

[繰り返し(Cyclic)]

単発ではなく、周期的に波を繰り返します。

Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋
Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋
Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋

[ノーマル(Normals)]

この項目は、メッシュタイプのオブジェクトにしか効果がありません。

本来、このモディファイアーで波の効果として変形させるのはZ軸方向で固定されています。

ですが、この項目を有効にすると、サーフェスの法線に沿って波の効果が出る方向を設定出来ます。

(ローカルの)法線方向を元に、波の効果で変形させる方向を各軸([X], [Y], [Z])に対応したチェックボックスから制御します。

Blender 波 モディファイアー 3DCG モデリング
[運動]の[X][Y]軸方向、[繰り返し]の有効化の上、[ノーマル]の全ての軸方向を有効化
Blender 波 モディファイアー 3DCG モデリング
[運動]の[X][Y]軸方向、[繰り返し]の有効化の上、[ノーマル]の[Z]軸方向を有効化
Blender 波 モディファイアー 3DCG モデリング
[運動]の[X]軸方向、[繰り返し]の有効化の上、[ノーマル]の[Y][Z]軸方向を有効化
Blender 波 モディファイアー 3DCG モデリング
[運動]の[Y]軸方向、[繰り返し]の有効化の上、[ノーマル]の[X][Z]軸方向を有効化

[時間(Time)]

アニメーションさせる波の時間に関する制御についてここで設定します。

[オフセット(Offset)]

フレーム単位の時間のオフセット。

[速度]が正の数値の場合は、波が始まるフレーム数、[速度]が負の数値の場合は、波が終了するフレーム数を設定できます。

また、この項目に負の数値で設定すれば波が開始時点で既に発生している状態になります。

  • [速度]が正の数値の場合
Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋
[オフセット: 50]、[速度: 0.25]
  • [速度]が負の数値の場合
Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋
[オフセット: 50]、[速度: -0.50]

[寿命(Life)]

フレーム単位のアニメーションの長さ。

“0”に設定すると、アニメーションが無限ループになります。

[減衰(Damping)]

[寿命]に達した後、波が[高さ]の値から”0″までゆっくり減衰する追加のフレーム数。[減衰]はすべての波紋に対して発生し、[寿命]が終了した後の最初のフレームで始まり、[減衰]フレーム後に波紋が消えます。

Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋
[オフセット: 0]、[寿命: 20]、[減衰: 30]

[位置(Position)]

波の開始位置を操作します。

[X]

波の開始位置の、(オブジェクトのローカル空間の)X座標を設定する。

[Y]

波の開始位置の、(オブジェクトのローカル空間の)Y座標を設定する。

[減衰(Falloff)]

波が開始位置から離れるときに、フェードアウトする距離を制御します。

Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋

[開始地点となるオブジェクト(Start Position Object)]

波の開始位置をここで設定した別のオブジェクトの原点で設定できます。

なお、アニメーション中でも、このオブジェクトを移動させると、波の開始位置にもリアルタイムに反映され、波の起点が移動します。

Blender 波 モディファイアー 3DCG モデリング アニメーション 波紋

影響を受ける頂点の制御とノイズ

ここでは、『頂点グループ』や『テクスチャ』を使用して、波の影響を受ける頂点とその程度を細かく制御できます。

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

この項目で設定した『頂点グループ』を使って、どの頂点が影響を受け、また、各頂点に設定されたウェイト値でどの程度まで影響を受けるかを制御します。

『頂点グループ』について、詳しくは↓の記事をご覧下さい。

新規作成した”グループ”という名前の頂点グループで、全ての頂点に”1″のウェイトを割り当て、『頂点ウェイト編集モディファイアー』で[減衰タイプ:ランダム]に設定して全体的に斑なウェイトに編集します。

Blender 頂点グループ 頂点ウェイト編集 モディファイアー ランダム 3DCG モデリング ウェイトペイント
頂点グループ”グループ”を、『頂点ウェイト編集モディファイアー』の[減衰タイプ:ランダム]でウェイト編集

ウェイト編集を施した”グループ”を『波モディファイアー』の方の[頂点グループ]の項目に設定します。

※この時、『波モディファイアー』が『頂点ウェイト編集モディファイアー』より上にあると、上手くぼこぼこした感じになりませんのでご注意ください。。

Blender 波 モディファイアー 3DCG モデリング テクスチャ
『波モディファイアー』の[頂点グループ]に”グループ”を設定

[テクスチャ(Texture)]

任意の画像を使用して、波の効果を制御できます。ほとんどの場合、テクスチャの「明度(グレースケール)」のみが使用されますが、場合によってはRGBカラーコンポーネント全体が活用される場合があります。

  1. [プロパティエディタ]>[テクスチャ]で、テクスチャの設定をします。[新規]というボタンを押してください。
Blender テクスチャ 3DCG モデリング
  1. 今回はテクスチャの名前を”wave_texture”としました。
Blender テクスチャ 3DCG モデリング
  1. 今回のテクスチャはデフォルトで用意されているものを使います。タイプメニューから[マジック]を選択しました。
Blender テクスチャ 3DCG モデリング
  1. 設定出来たら、[プレビュー]画面の表示が真っ黒から[マジック]に変わります。
Blender テクスチャ 3DCG モデリング

最後に、作成&設定が出来たテクスチャを、『波モディファイアー』の[テクスチャ]に設定します。

Blender 波 モディファイアー 3DCG モデリング テクスチャ マッピング
『波モディファイアー』[テクスチャ]に”wave_texture”設定

[テクスチャ座標(Texture Coordinates)]

各頂点の値を取得するためのテクスチャ座標を、以下の4つから選択したタイプを基準に設定します。

  • [ローカル(Local)] …オブジェクトのローカル座標系からテクスチャ座標を取得します。具体的には[編集モード]での、オブジェクトの移動、回転、拡大縮小から、テクスチャマッピングに影響を及ぼします。
  • [グローバル(Global)] …グローバル座標系からテクスチャ座標を取得するのですが…、この『波モディファイアー』の性質上、[テクスチャ座標: ローカル]を選択した状態と同じになるようです。
  • [オブジェクト(Object)] …別のオブジェクトの座標系からテクスチャ座標を取得します。このタイプを選択した時に下の入力欄に、テクスチャ座標を設定するオブジェクトを設定します。この別オブジェクトを移動すると、テクスチャマッピングの座標が変更されます。このフィールドが空白の場合、ローカル座標系が適用されます。
  • [UV] …面のUV座標からテクスチャ座標を取得します。 このタイプを選択した時に下に出現する[UVマップ]という項目に、テクスチャ座標を取得するUVマップを設定します。オブジェクトにUV座標がない場合、ローカル座標系が適用されます。[UVマップ]に何も設定していない状態で、使用可能なUVマップが存在する場合、自動的に最初のUVマップが使用されます。
memo: 『波モディファイアー』の特殊性 — テクスチャマッピングの「グローバル = ローカル」

今回のモディファイアーの場合は「memo: “ローカル”空間の座標で計算される点に注意」でご説明しましたように、”ローカル”空間の座標を元に波の効果が計算されています。

その為か、[オブジェクトモード]で移動、回転、拡大縮小をしても変化が見られず、対して、[編集モード]で移動、回転、拡大縮小をしましたらテクスチャのマッピングに変化がみられました。

なので、今回のモディファイアーの場合は、[テクスチャ座標: グローバル]を選択しても、[テクスチャ座標: ローカル]と同じような動作になるようですので、お気を付けください。

この[テクスチャ座標]は、過去記事に取り上げました『頂点ウェイト編集モディファイアー』にも同様の項目があります。そちらの記事の方では詳しく書かせていただいておりますので、[テクスチャ座標(Texture Coordinates)]の項目をご覧ください。

波の速度や形状

[速度(Speed)]

波紋のフレーム毎の速度。

[高さ(Height)]

波紋の高さ、または振幅。

[幅(Width)]

波と間の距離。[繰り返し]が有効な場合で説明すると、「連続する2つの波紋の頂上間の幅の半分」。

この項目は、波紋の振幅に間接的な影響を及ぼします。

パルスが互いに近すぎる場合、波はZ位置で”0″に到達しない可能性があります。

そういった場合、Blenderでは波全体の高さを下げて、最小値を”0″に調整するため、[高さ]で設定された最大値の振幅より低くなります。

[狭さ(Narrowness)]

波の頂上からベース(Z座標”0″)までの距離。

この項目の値が大きい程、各パルスの実際の幅は狭くなります。

単一パルスの実際の幅は、「4/[狭さ]」で算出されます。

Blender 波 モディファイアー 3DCG モデリング
[高さ]、[幅]、[狭さ]の解説

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

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

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

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

Pocket

コメントを残す

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

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