【19】モーグラフを使う

画像はクリックすると拡大されます。戻る   デジタル降魔録へ   次へ


アニメーションといえばキーフレーム操作。Flash時代から AEを経て C4d Lに至ってもそれは変わりませんでした。オブジェクトの動きを時間という流れにキーフレームと呼ばれる変化点を設けて、次のキーフレームまでの変化をパソコンが補間して滑らかな動きにする仕組みです。
 なんだかややこしい話ですが、一つの動きだけに絞るとそんなに難しいことをやっているのではありません。例えは最初のキーフレームが『Y=10』だとして、次に 1秒後のキーフレームでは『Y=100』を指示してやると、もし 30fpsなら1秒間に 30枚の絵が必要ですが、このキーフレームアニメーションは Y軸方向へ『10』から『100』までの移動距離を計算して 到達するまでの 30枚分の絵を作ってくれます。

 と、まあ、これはおさらいでした。

 さてモーグラフです。
 最初はなんだかよくわからない仕組みで、設定が難しそうなうえに、ネットでサンプルを探してみると、キーフレームアニメーションでもできそうなものばかりでした。
 しかも C4d Lでモーグラフを使うには MAXON社に事前登録が必要な足枷が待っています。

 なんだかめんどくさそう……。

 でも正規版では最強のツールだと謳われています。それが LITEでも使えるのでしょうか、知ったかぶってもすぐにボロが出ますので、とにかく登録して使えるようにしてみました。

 すると、一つのツールが追加されました。【破砕】と呼ばれる一つのモーグラフと【エフェクタ】と呼ばれる中には二つの【簡易】と【ランダム】が。
 なんだかわからない。けど……なんだコレ?



 適当なオブジェクトを作り、モーグラフの【破砕】を OM(オブジェクトマネージャ)に出して、そのオブジェクトの親にしたり子にしたり、どこかのパラメータを動かしても一向に変化しません。どうやって使うのか、さすがに意味不明です。だいたい【破砕】とは何なのか、なんか潰すのでしょうか。

 こうなったら先生を探すしかありません。
 で見つけたのがこちら。
https://www.youtube.com/watch?v=m5G2cFbyLv8&list=PLD67M948D31FGKLtelEOKCIyK2gnCjcHc&index=2

 初めて C4d Lに手を出したときに、こちらのサイトでもお世話になったのですが、その時はモーグラフの部分はさっぱり理解できませんでした。勉強したのは全体概略と『AEとの連携』だけで、あとは後日ということで大事に保存しておいたのです。
 なにしろその頃は C4d Lに関しては右も左もわからない状態です。そんなときにこの説明を聞いても『犬に論語』でした。

 それから約 1年。さすがにかき集められた情報は整理されて、ワタシの脳みそには C4d Lの部屋が作られました。まあ一部穴が開いてぽろぽろこぼれていますが、初めてのころと比べたら雲泥の差です。

 動画を見て感じたこと。
 C4d Lのクセを熟知していないとこれは手が出せないだろうな。でした。

 説明を聴いて動きは理解できましたが、どうしてそれを【破砕】と呼ぶのか、それに付随する【エフェクタ】の【簡易】も同じ。なぜ【簡易】と命名したのか……。
 おそらく正規版の C4dに搭載されたフル装備の【モーグラフ】を経験すれば意味が理解できるのだと思います。


 言葉の意味はともかくとして、理解した動きをさらに練りこんで考えた結果、【破砕】と【簡易】を使って、こんなものが完成しました。

 最終的にはキーフレーム操作も必要ですが、その部分はとても簡単で、球体の動きを作る、これだけに専念しています。あとはぜんぶシステムがやってくれています。正直いってすごい、のひとことです。




 ここからは例によって自己流の考え方で説明します。間違っているかもしれませんし、少々くどくもなります。適当に読み飛ばしてください。

 まず解ったこと。
 どうもモーグラフというのはキーフレームアニメーションではなく、信号処理的にいうところのエンベロープに沿ってオブジェクトを動かす方式のアニメーション……。

 ……よけいに難しくなってしまいました。噛み砕いてもう一度説明します。

 身近にある信号処理的なエンベロープといえばサイン波がそうです。それをかたどる曲線がここでいうエンベロープです。

 モーグラフの【破砕】とは、を説明すると、大量のオブジェクトを【エフェクタ】が準備した『カタチの輪郭』に沿わせたような動きを作るモノ、でどうでしょうか。
 この『カタチの輪郭』が、エンベロープだと考えたのですが、果たしてこれで正しいのでしょうか。

 これが【破砕】を少し理解できたところで思い浮かべた感想です。(この先間違っていることに気づくかもしれませんが)


 先にあげました動画は、スポンジのような柔らかい床に並べた 7×7のタイルオブジェクトを球体が押して転がっていくアニメーションでした。
 これは『タイルを押す』の部分に球面のエンベロープを持たせたモノです。これを C4d Lの処理と照らし合わせて箇条書きにすると理解しやすいです。

[1] 球体とタイル 49個(7×7個分)を作ります。
[2] ぜんぶのタイルを選択して【破砕】モーグラフの子階層に置きます。
[3] エンベロープを決めるのが、エフェクタの【簡易】で、その中にある【減衰】でエンベロープの形を決めます。今回は球体がタイルを押しますので、『球体フィールド』を選びました。
[4] 球体に押されたタイルが、どの方向にどれぐらい沈み込むのかを【簡易】の【パラメータ】で指定します。
[5] 球体オブジェクトの子階層に【簡易】オブジェクトを入れて【球体フィールド】ともに球体の中心に軸を合わせます。
[6] 球体の動きをキーフレームアニメーションします。


 ざっとこんな感じです。
 一度に説明するととても混乱しますので、最初は概略から入り、ひと通り頭に入ったところで、個々に詳しくというのがワタシのやり方です。


 それでは詳しく見ていきましよう。

[1] 球体とタイル 49個(7×7個分)を作ります。


 50個近くのタイルをキレイに並べる方法ですが、正規版ではモーグラフの中にクローナーと呼ばれるツールがあるようですが、LITEにはありません。でも気を落とすことはありません。他のツールを使っても似たようなことができました。

 まずタイルを1個作ります。あとで調整する必要ができた時のために、インスタンス化します。インスタンスについてはこちらの 【 ジェネレータの【インスタンス】オブジェクトってなんだ?】をご覧ください。

 インスタンスの もとになったオブジェクト(クラス?) が、大量のインスタンスの中に埋もれてしまうと修正の時に厄介ですので、どこか遠くに置いてレンダリングにも影響が出ないように消しておきます。ただしそのまま消すとインスタンスも消えてしまいますので、 クラス 親ヌルを作って、その親を消すとインスタンスは消えません。

 そこまでしたのがこの写真。タイルを修正したくなったらこの一つを触るだけです。


タイルインスタンスを作ります


 次に、作ったインスタンスを選択してから、ウインドウメニューの【ツール】→【複製】を押して属性マネージャに出たパラメータ類を写真のようにして適用ボタンを押すと、横に 7つのタイルができ上ります。


横に 7つ


 それらをまとめて親ヌルに入れてから、Z軸方向にも 7つ複製して全てを親ヌルから出して同階層にした後、空になった 7つの親ヌルは不要ですので削除します。
 ここまでが [1]でした。


これで 49個。制作時間 15秒ぐらい


 次です。

[2] ぜんぶのタイルを選択して【破砕】モーグラフの子階層に置きます。


 ここでの注意点は一つのみ。【モーグラフ】から【破砕】を選んで OMに置いたら、親ヌルに入れていない(グループ化されていない)同階層のオブジェクトをまとめて【破砕】の子階層に入れないと正しく動きません。


 次が今回のかなめです。少々ややこしいです。

[3] エンベロープを決めるのが、エフェクタの【簡易】で、その中にある【減衰】でエンベロープの形を決めます。今回は球体がタイルを押しますので、『球体フィールド』を選びました。
[4] 球体に押されたタイルが、どの方向にどれぐらい沈み込むのかを【簡易】の【パラメータ】で指定します。


 使用する【破砕】をOMで選択してから【エフェクタ】の【簡易】をクリックします。
 この順番を間違えると【簡易】は適用されません。先に【簡易】を OMに置いてから【破砕】の上に移動しても知らんぷりです。ジェネレーターデフォーマはその方法でも問題無いのですが【簡易】は許してくれませんでした。まず、OMの【破砕】を選んでから【簡易】をクリックです。
 サイトでの説明ではここをサラッと言われてましたが、AEに慣れた人にはここが C4dのクセにあるところで、なんでそんなまどろっこしいのか戸惑うところです。タイムラインの【表示】→【リンク】のメニューにも首を捻りそうな仕様が見受けられます。


【簡易】が【破砕】に適用されたかどうかは、OMにセットされた途端、【破砕】の子階層にあるオブジェクトが一斉に Y軸方向にポコんと動きますので適用されたことがよくわかります。動かなかったら適用されていません。もう一度、【破砕】を選んでから【簡易】をクリックです。


【簡易】が適用された直後

なぜオブジェクトが上に動いたのか。写真をご覧ください。属性マネージャに出た【簡易】の【パラメータ】である【変形】の【位置】にチェックが入り、【位置】のパラメータ【P.Y】が『100cm』になっています。これがデフォルトで、結果は【破砕】に並んだオブジェクトを 100cm上げる指定になっているからです。


【簡易】で調整する項目はこの【パラメータ】と【減衰】です。【減衰】で動かすエンベロープを指示、【パラメータ】でその方向や角度の指定をします。
 今回はタイルを下方向に押し付けるような動きを作りたいわけですから、【パラメータ】の【P.Y】を『-5cm』します。すると一旦ぜんぶのタイルオブジェクトが 5cm下にさがります。


全体が 5cm下がりました


 とりあえず次です。球体がタイルオブジェクトを押し付けるのですから、エンベロープも球状が好都合です。【簡易】の【減衰】を開くと……。
 初めて減衰フィールドを選ぶのですから空っぽの欄が出て、下に【線形フィールド】というボタンがあります。これをマウス左で長押してください。するとフィールド一覧が出ますので、写真のように【球体フィールド】を選択します。


球体フィールドを選択




 その次の写真がこれです。丸いモノがステージにできて、 OMでは【簡易】の子階層に【球体フィールド】が置かれています。


球体フィールドの位置

タイルオブジェクトとはかけ離れている場所にできていますので、これを適正位置に移動させます。
 そして 4面ビューを見ながらタイルオブジェクトの真上に移動させたのがこれです。


タイルオブジェクト全体に覆いかぶさるほどの大きさですが、ちゃんと押し付けてくれています。最も押されているところが濃い色で、徐々に薄い色で表されています。色をこのまま使ってもいいですし、変えるのなら OMの【球体フィールド】を選択、属性マネージャの【カラーリマップ】で変えます。


 色の調整よりも先に球体オブジェクトを動かせば【簡易】と【球体フィールド】が従うように調整するのが先です。転がる球体とモーグラフの動きが同期しないとこのアニメーションは成立しません。

 次がこれ。

[5] 球体オブジェクトの子階層に【簡易】オブジェクトを入れて【球体フィールド】ともに球体の中心に軸を合わせます。

キーフレームを打った後では軸の調整ができませんので先にそれを行います。これを怠るとアニメーションが台無しになります。何度これで泣いてきたことか。AEでも同じです。キーフレームを打った後にアンカーポイントの移動は致命傷を食らいます。

 ここは丁寧に……。
 まずは OMの階層の並びを、球体オブジェクトを最も上位階層に置き、その子階層に【簡易】を、さらにその子階層に【球体フィールド】という順に置きます。


球体オブジェクトにはガラスっぽいマテリアルを適用しました

次に【簡易】と【球体フィールド】の軸を球体オブジェクトの中心に揃えます。
 上の写真ではまだ球体オブジェクトと【球体フィールド】の大きさも違いますし、軸位置もズレています。今からこれらを調整して親となる球体オブジェクトに合わせていきます。


 親子の軸の揃え方は 二通りあります。ウィンドウメニューの【メッシュ】→【軸】にある、【親を中心に】と【中心を親に】ですが……、パッと読んだだけでは日本人であることに自信を無くしそうになります。

 R21よりここの日本語訳がだいぶ理解しやすく修正されたのですが、いまだに首を捻るのはワタシの読解力が無いのか、深読みすぎるのか……。
 とにかく両方実行した結果をここでまとめておきます。

【親を中心に】ではOMで選択した子階層のオブジェクトの中心に親のほうが移動してきます。
【中心を親に】ではOMで選択した子階層のオブジェクトが親の中心に移動します。
 ということは、【中心を親に】ではなく【親の中心に】ですね。
 ウダウダいってないで、【簡易】と【球体フィールド】の X、Y、Z座標をともに『0』にすれば 済むだけ のことでした。



 そろったらタイルの上に球体オブジェクトを置いて、タイルの押し付け具合を調整します。
 親である球体を動かすと【簡易】も動き、タイルもそれに伴って押さえつけられますので、OMの【球体フィールド】を選択、属性マネージャの【フィールド】の【サイズ】で処理範囲の大きさを決めます。親の球体オブジェクトよりも少し大きめにしたり、実際に親を沈めたりしてようすを見ます。

 続いて隣の【リマップ】で押し付けるエンベロープの詳しい形状を作ります。【リマップを有効】にチェックを入れ、【等高モード】を『カーブ』にして、出てきたグラフを調整して丸い形に合わせつつ、【フィールド】の【サイズ】をもう一度調整してタイルの沈み具合を合わせます。
 4面ビューの【前面】を注目してください。【フィールド】の輪郭線の外側にある小さな丸いポイント(写真の黄色矢印)がありますが、それを動かしてもサイズが変わりますので利用するとやり易いです。

 先の説明では【球体フィールド】の属性マネージャに出る【フィールド】と【リマップ】を調整しましたが、これは親となっている【簡易】の属性マネージャに出る【減衰】の下部欄にある【フィールド】と【リマップ】のパラメーター類と同じもののようです。どちらで調整しても結果は同じでした。


 だいたい調整できたのがこの写真。


右下端のグラフエディタで形を球形にします



ここまできたらもう終盤です。

[6] 球体の動きをキーフレームアニメーションする。

球体をタイルの上で動かせば、その時々に応じて下に並んだタイルが押されますので、後はキーフレームを打って、転がる動きを作ればよいわけです。


 ここではちょっと凝って、転がる方向によってタイルが押される角度を付けることにしました。【簡易】の【パラメータ】で、角度を『使う』にチェックを入れて、転がるアニメーションに合わせて『±11°』ほどの変化をキーフレームで加えました。




 そしてでき上ったのが、先にお見せした映像でした。


 モーグラフで構築されたオブジェクトは対象物が増えたって動じることはありません。
 試しにタイルを 288個まで増やして球体が動く範囲も広げてみましたが、作業終了までに 15分も掛かりませんでした。これをもしキーフレームアニメーションだけで作っていたとしたら、考えるだけで寒気を覚えます。







 モーグラフを利用したサンプルをもう一つ作りました。ご存じドミノ倒しです。



ドミノの配置は複製ツールの線形モードと円形モードを使い、ドミノが倒れるシーンはすべてモーグラフです。直線部分は【線形フィールド】を使い、カーブの部分は【円周フィールド】を使っています。ラストのチップが飛び出るシーンは力任せのキーフレームアニメーションです。

 実物と違って、 ドミノを立てている間に倒れだすこともなく 、サクサク制作できました。



 こちらは複雑な回転を利用したキーフレームアニメーションです。



どちらにしてもキーフレームアニメーションが消え去ることはない模様でこれからも精進したいと思います。




【19】モーグラフを使う  終わりました

戻る   デジタル降魔録へ   次へ