Michal Makarewicz(マイカル・マカレヴィッチ)さんによるCGWORLDのアニメーションマスタークラスにおいてグラフエディターとレイヤードアプローチについてまとめものです。
記事ではMayaを使用していますが、3DCGアプリケーション(アニメーションのグラフエディターがあれば)を選ばずに使えるテクニックです。
3DCGアニメーション初心者には難しい内容ですが、中級者以上にはとても有効なテクニックです。
アニメーションマスタークラスのそれ以外の内容については以下の記事を御覧ください。
レイヤードアプローチとは
レイヤードアプローチはコンピュータで3DCGアニメーションを作るということの利点を最大限に生かしたワークフローです。
レイヤードアプローチとは、まず動きのメインとなる部分のアニメーション(マスタースプライン)を作成します(ポーズ・トゥ・ポーズと違いこの時点でタイミングをしっかり決めてしまいます)。
そのマスタースプラインをその他の部分のアニメーションを作るときに再利用(いろいろ加工などしながら)します。
メインの動きからの階層構造をしっかり認識してマスタースプラインを先導する動きなのか、追随する動きなのかでスプラインカーブを左右にずらしたりする作業を早い段階から行います。
このようにレイヤーを重ねるようにアニメーションを作成します。
よってタイムラインがぐちゃぐちゃになってしまうのでグラフエディターでのスプラインカーブを完全に把握していないと大変なことになってしまいます(というわけで初心者向きではありません)。
つまりコンピュータでアニメーションを作る上で最も有用なツールであるグラフエディターを使いこなすことが必須条件になります。
レイヤードアプローチの利点
レイヤードアプローチのメリット
- 作業スピードが速い。
- ブロッキング段階から完成形に近い動きになる。
- ブロッキング段階から柔らかい動きになる。
レイヤードアプローチの利点としてはなんと言っても作業スピードが速いということです。それはマスタースプラインを再利用するのでゼロから作業するのに比べて圧倒的に効率的です。
次にレイヤードアプローチのブロッキングは他の方式のブロッキングに比べて完成形に近いということです。レイヤードの場合はアニメーションのスプラインカーブをブロッキングの時点でずらしているのでポーズ・トゥ・ポーズのブロッキング(特にステップドの場合)と比べてブロッキング段階から柔らかい動きになっています。詳しくはアニメーションマスタークラスvol.3のブロッキングの項目を御覧ください。
レイヤードアプローチの欠点
レイヤードアプローチのデメリット
- タイムラインがぐちゃぐちゃになって、収拾がつかなくなる。
- Pose to Pose(ポーズトゥポーズ)のアプローチよりもポーズが弱くなる。
レイヤードアプローチの欠点はタイムラインがぐちゃぐちゃになってしまうのでグラフエディターでしっかりとアニメーションのスプラインカーブを把握していないと大変なこと(パニック状態)になってしますことです。
あと一般的には「ポーズが弱くなってしまう」と言われていますが、 Michal Makarewiczさんの講義を受けた限りでは私はそのような印象はもちませんでした。
レイヤードアプローチは初心者向けの手法ではない(ある程度出来る人が使ってこそ初めて有効な方法)のでそのような心配はあまりないと考えています。
グラフエディターを使いこなすための便利なツール(スクリプト)
レイヤードアプローチを使うために最も大事なグラフエディターを使いこなすために便利なツールの紹介をします。
【無料】Aaron Koressel -MEL Script Tools
Michal Makarewiczさんによると「Aaron Koressel -MEL Script Tools」 の中の3つのスクリプトのみを使うとのことでした。PIXARのツールで作業をすればもっと速いとのことでしたので、実際には他にも有効なツールを使われているようですが、3つだけで十分という言い方は教え方としてとても上手いと思いました。
このスクリプトをHotKeyに割り当てる方法はわかすぎものがたりで詳しくわかりやすい解説がされていましたのでそちらを参考になさってください。
「Aaron Koressel -MEL Script Tools」 について詳しくは以下の記事を御覧ください。
3つのスクリプトだけでなく、すべてのスクリプトを紹介しています。
ackNegateKeys
スプラインカーブを反転させるスクリプトです。
ackPushPull
スプラインカーブを上下の幅を広げたり狭めたりするスクリプトです。
ackSpreadSqueezeTiming
スプラインカーブの左右の幅を広げたり狭めたりするスクリプトです。
【有料】animBot
animbotは有料(最安で年60$のサブスクリプションです
。この最安版では一部使えない機能(Temp Controls)がありますが沢山の機能が搭載されています。
すべての機能が使いたい場合は年144$のサブスクリプションです。
本気でMayaでアニメーションをやりたいならば導入しておきたいツールです。とても有名なツールで Michal Makarewiczさんもすばらしいツールだとおっしゃっていました。
ちなみにanimbotがあれば上で紹介した「Aaron Koressel -MEL Script Tools」は必要ありません。
この「animBot」について詳しく知りたい方は以下の記事を御覧ください。
グラフエディターを使いこなすための練習
こちらではグラフエディターを使いこなすための練習方法をまとめました。
実はこのグラフエディターの練習はAnimation OBAKEの記事を読んで知ってはいたのですが、当時はこの練習の重要さがよくわからず読み流してしまっていました。3DCGアニメーションを作っている方ならばアニメーションを見ればグラフエディターのスプラインカーブがどのようになっているかはだいたいわかるとは思いますが、スプラインカーブからアニメーションを作れるようになるにはこの練習が非常に大切です。
ぜひとも、動画と画像をみるだけでなく実際に練習をしてみてください。また、translateの動きだけでなくrotateの動き(FKのジョイントなどで)も練習してみましょう。
斜めの動き
XとYのスプラインカーブは全く同じものです。スプラインカーブを見れば当たり前の動きですが、スプラインカーブからこの動きを作れるようになることが重要です。応用問題として左上から右下に動くアニメーションのスプラインカーブも作ってみましょう。
円の動き
円運動はこのように左右にスプラインカーブをずらしたものです。応用問題として逆回転や12時スタート、3時スタート、9時スタートなどの動きを作ってみましょう。
8(∞)の動き
8(∞)の字の動きはXをスケールで横に伸ばし、Yのタイムラインをずらしました。そして8(∞)のラインを整えるためにYを縦に縮めました。
応用問題として数字の8の字を描いてみましょう。また、8の字のラインを理想の形に近づけるために微調整してみましょう。
グラフエディターの使い方
グラフエディターのハンドルを使ってスプラインカーブを調整する方法には様々なやりかたがありあります。Weighted Tangent派とNo Weighted Tangent派といった派閥にわかれるほどです。
ここでは Michal Makarewiczさんが紹介されたおすすめの使い方を紹介します。Weighted Tangentを使います。わたしはこの使い方に乗り換えました。
バウンシングボールの上下の動きのスプラインカーブ
バウンシングボールのバウンドの動き(Y軸)を例に説明します。
Break Tangent とハンドルの角度
真ん中のようにBreak Tangentして角度をつけるやり方はコントロールするもの(4つのハンドルのweightと2つのハンドルの角度)が多くなりすぎてしますのでおすすめしないとのことです。
ハンドルの角度をいじってしまうとキーを動かしてタイミング調整した場合にスプラインカーブの形が変わってしまいます。
Weighted Tangent
左のように落下地点のコンタクトフレームのハンドルを縮めてなくしてしまえば2つのハンドルのweightだけでコントロールできるようになるのでおすすめだということです。
Adding knot
また、右のように落下地点付近のスプラインカーブをコントロールしたい場合は右のようにキーを追加してそのハンドルのウェイトを調整(ハンドルは傾けない)して思い通りのスプラインカーブを描くことをおすすめしていました。
この場合はキーを左右に動かしてタイミングを調整したばあいでもハンドルの角度を変えていないのである程度スプラインカーブの形が保たれることが利点だと仰られていました。
Enerty Transfer
違うアニメーションカーブでも連続した動きならば同じように繋げることができます。
足の移動の着地のカーブと足が滑る着地のカーブは違うものだが繋げてきれいになるように。一つ一つのカーブを見ると急に見えるが繋がっていれば連動しているので大丈夫。
余白のフレーム
0~10fは何もしない余白のフレームを入れておきます。あとになってそこを使えるように。
レイヤードアニメーションの例
レイヤードアプローチを使って簡単なバウンシングボールを作ってみました。
Y軸の動き(バウンド)を作成
まずはボールがバウンドするアニメーションをつけます。
X軸の動き(移動)を作成
次にボールの移動のアニメーションをつけます。
回転を作成
ここから回転の動きをレイヤードアプローチでつけます。
X軸の移動のスプラインカーブをマスタースプラインとしてボールの回転(rotateZ)にコピーします。ただ、このままだとほとんど回転しないのでrotateZのスプラインカーブを57倍( Michal Makarewiczさんのアニメーションの講義を受けた数学の専門家の方が言うには57倍だぞうです。)します。また、このアニメーションの場合は逆回転になってしまったのでスプラインカーブを反転しました。
これで完成です。
まとめ
アニメーションマスタークラスで「バウンシングボールができればどんなアニメーションも作ることが出来る」との教えを受けました。
レイヤードプローチをまずマスターする第一歩としてバウンシングボールからはじめましょう。
私もレイヤードアプローチを使いこなせるようなるために精進したいと思います。
コメント