《マトリクス》オブジェクト入門

2019-09-09MoGraph, XPresso, QuickVFX

(QuickVFX Youtube チャンネルより)

POINT:
  • マトリクスオブジェクト自体は何も生成せず、レンダリングしても何も描画されない。
  • クローナーやパーティクルをマトリクスに配置することで、デフォーマやエフェクタが適用できる。

作成されたマトリクス上に各クローンを配列する方法

  • マトリックスオブジェクトの作成(メニューの[MoGraph>マトリクス])

チュートリアル動画と合わせるために、属性マネージャの[オブジェクト]タブで以下のように、複製数[3,3,3]、サイズ[100,100,100]とする。

マトリックスはその位置自身をオブジェクトのように保持するが、それ自体はオブジェクトではない。

マトリックスの働きが分かりやすいデフォーマを使用していく。

  • ツイストデフォーマオブジェクトを作成。

  • ツイストデフォーマをマトリックスの子にする(デフォーマはその親オブジェクトと親オブジェクトの下の階層に働く)

  • ツイストデフォーマの[オブジェクト]タブで[角度]の値を動かしてみる。

  • 今はチュートリアル動画と同じく「97°」にしておく。

マトリクス上にクローンを配列 1:00~

  • クローナーオブジェクトを作成(メニューの[MoGraph>クローナー])
  • 球体オブジェクトを作成し、クローナーの子にする。
  • 属性マネージャでクローナーの「オブジェクト]タブ内の[モード]で「オブジェクト」を選択。
  • [オブジェクト]フィールドが現れるので、マトリックスオブジェクトをドラッグ&ドロップする。

  • 球体オブジェクトのサイズが大きすぎて効果が分かりにくいので、球体の[オブジェクト]タブで[半径]を「23cm」に変更。

球体に対してデフォーマは適用されず、クローンの形はそのままキープされる。

オブジェクトマネージャでは以下のようになっている。

失敗例

これを例えばクローナーの直下にツイストデフォーマオブジェクトを移動させる(分かりやすいように、ツイストデフォーマオブジェクトとマトリクスオブジェクトはビューポートで非表示にしてある)

ビューポート(透視画面と上面)で確認すると、以下のように崩れた形になる。

註:ツイストデフォーマはクローナーの子になっているので、ツイストデフォーマもクローンとしてマトリックス上に配置される。クローナーの[オブジェクト]タブで[クローン]は初期値の「反復」になっているので、インデックス番号でいうとそれぞれ一個飛ばしでツイストデフォーマと球体が配置される。下のキャプチャ画面は、クローナーのインデックス番号を表示させたもの。

別の例

以下のようにグループ化すると、クローナーではなくマトリックスに配置された球体それぞれに対してデフォーマが働く。

Thinking Particlesとマトリクスを組み合わせる方法 2:30~

  • 新規ヌルオブジェクトを作成。
  • 属性マネージャで[オブジェクト]タブの[表示]を「円」に変更。
  • [基本]タブで[レンダリングでの表示]を「表示」に。
  • [色を指定]を「オン」に。適当な色を選択(チュートリアル動画では緑色に)

  • [オブジェクト]タブに戻り、円の[半径]をわずかにあげる。いまは「13cm」に。

  • ヌルを選択した状態で、XPressoタグを追加(タグ>CINEMA4Dタグ>XPresso)
  • ヌルをXPressoエディタ(編集画面)にドラッグ&ドロップ。
  • 新規ノード「PStorm」を作成。XPresso編集ウィンドウ上で右クリック[新規ノード>Thinking Praticles>TPジェネレータ>PStorm]

  • エディタのPStormノードの入力メニュー(青い四角形の《入力ドック》をクリック)より「エミッタの配置 Emitter Alignment」を選択して入力ポートを追加。
  • エディタのヌルオブジェクトに出力メニュー(赤い四角形の《出力ドック》をクリック)より「グローバルマトリクス」と「絶対座標」([座標>絶対位置>絶対位置])を選択して出力ポートを追加。
  • 「グローバルマトリクス」と「エミッタの配置」、「絶対位置」と「エミッタの位置」をワイヤで結ぶ。

註:「グローバルマトリクス」と「エミッタの位置」を結ぶことで、PStormのエミッタの位置をヌルの位置によって移動させることが可能になる。ただ、それだけだと回転はできない。PStrormの入力に「エミッタの配置」を追加し、「エミッタの配置」のポート情報(「エミッタの配置」上で右クリック。メニューより選択)を見ると、データタイプがマトリクスになっているので同じデータ型である「グローバルマトリクス」をヌルの入力側に追加した。

※マトリクスについて:マトリクス(行列)は、4個のベクトルをグループ化したもので、オブジェクトの位置やスケール、角度を同時に表すことが可能。グローバルマトリクスは、グローバル座標から見たオブジェクトの位置ベクトル、およびオブジェクトの各座標軸に対応する3個のベクトルを含む。

  • 再生すると、ビューポートでヌルからパーティクルが発生しているのが分かる。
  • ヌルは回転させることもできる。今は「-90°回転」させることにする。

パーティクルの調整

  • Xpressoエディタを表示し、「PStorm」をクリック。属性マネージャに「PStorm」の属性が表示される。
  • [カウント](同時に存在できるパーティクルの最大限の数)を「12」に。

  • 新規マトリクスオブジェクトを作成(メニューの[MoGraph>マトリクス])。
  • 属性マネージャの[オブジェクト]タブで[モード]を「オブジェクト」に変更。
  • 「Thinking Particles設定」を開く(メニューの[シミュレート>Thinking Particles>Thinking Particles設定])

  • 「Thinking Particles設定」のパーティクルグループの「All」を、マトリクスの[オブジェクト]タブの[オブジェクト]フィールドにドラッグ&ドロップ。

マトリクスがパーティクルに配置されたのがビューポートで確認できる。

ここからは、さきほどのようにクローンをマトリクスに配置していく。

  • 新規クローナーオブジェクトを作成。
  • [オブジェクト]タブで[モード]を「オブジェクト」に。
  • 現れた[オブジェクトフィールド]に、オブジェクトマネージャのマトリクスオブジェクトをドラッグ&ドロップ。

  • 円錐オブジェクトを新規作成。クローナーの子にする。
  • 円錐のスケールを調整。
  • マトリクスをビューポートで非表示にする

これで、「Thinking Particlesのパーティクル」に配置した「マトリクス」に配置した「クローン」が出来あがった。これで、マトリクスにデフォーマを適用してパーティクルをコントロールすることが出来る(※註:エミッタよりひとたび放出されたパーティクルは、エミッタ側ではコントロールできない)

例1:ツイストデフォーマをマトリクスに対して適用

例2:さらに、クローナーに対してもエフェクタを適用して、組み合わせる

ここでは「数式エフェクタ」を利用

  • クローナーを選択した状態で数式エフェクタを選択([MoGraph>エフェクタ>数式])
  • [パラメータ]タブの[位置]スケールのチェックを外し、[スケール]のみにチェックを入れて、[エフェクタ]タブで[強度]を調整。

上の例では、マトリクスに数式エフェクタを適用しても何も起こらない。パーティクルに配置されたマトリクスはあくまで位置と回転しか持たず、スケーリングできないから。

その他の例 7:00~

  • ツイストデフォーマの[角度]をアニメートさせる。
  • Pstormの[有効期間]を変更する。
  • 新規「数式エフェクタ」を作成し、[位置]のみを有効にし、マトリクスオブジェクトに適用する(ひとつの数式エフェクタはクローナーに対して、もうひとつの数式エフェクタはマトリクスに対して適用)