2023年8月29日火曜日

久しぶりのCAT

みなさまこんにちは!みっちーです。

最近お仕事でかなり久しぶりに3dsmaxに搭載されている【CAT】というツールを使用してアニメーションを付ける機会がありました。

maxを使用されている方であればご存知かもしれませんが、CATというのはキャラクターリギング、またアニメーションを作成する為のツールで、同じくmaxに搭載されているBiped(キャラクタースタジオ)より、リグ作成の自由度が高い事から特に動物や昆虫など、多足歩行のキャラに向いているという特徴があります。

今回はそんなCATの売りの1つであるCATMotionという機能を使用して4足歩行のアニメーション作成を行ったので、その事に少し触れてみたいと思います。

CATMotionを簡単に説明すると、歩行や走りなどのサイクルモーションを専用のエディタ上で様々なパラメータの調整を行い作成する事が出来る機能となります。詳しい説明はネットで検索すれば出て来るので、大まかな流れだけ見ていきます。

まず、CATのレイヤマネージャにレイヤを追加ボタンからCATMotionレイヤを選択して追加します。

アニメーションを有効にして再生すると早速自動で動き出します。便利ですね!次にCATMtionエディタを開いて色々とパラメーターを調整していきます。

まずはGlobalsという項目。

ここでは主に「最大ステップ時間」で1サイクルにかかる時間(フレーム数)や「最大歩幅」で歩幅(移動距離)を調整します。また歩行モードを「まっすぐ歩行」に変えると実際に前方に歩き出します。

次にLimbPhasesという項目。

ここでは各肢の動くタイミングをオフセットして調整します。少しわかり辛いのですが、歩き、駆け足、全力疾走など動きによって足の運び方が変わってきますので、それを各肢ごとに動くタイミングをずらす事で調整していきます。

初期設定だと左右の足を交互に繰り出します。

左右の数値を近づけると左右の足を同時に繰り出すように変化します。


あとは腰や胸、脚などの部位ごとの動きを調整していくのですが、調整出来る項目が多いのでいくつか参考までに紹介したいと思います。

「腰、胸、頭」に関しては、各部位いずれもXYZ各軸の回転、移動の幅を調整する事が出来ます。例えばLiftというパラメータでは1サイクルにおける高さ(上下動)の動きを調整できます。

山が2つあるので1サイクルで2回上下動しています。

山が1つなので1サイクルで1回だけ上下動しています。4足歩行の走りの場合こうなりそうですね。

フラットにすると完全に上下動しなくなります。


脚(腕)に関しては鎖骨や膝、足首、足全体(IKターゲット)などに分かれて、更に調整出来るパラメータが多くなっています。ここでも1つ例として DigitCurlAngleというパラメータでは1サイクルにおける指(手)の角度の変化を調整できます。

初期設定の状態。

足を上げる時に指をやや後ろに曲げるように調整しています。


ちなみに脚に関してはグラフの濃い緑の箇所が足が空中に浮いている間の数値、薄い緑の箇所が足が地面に接地している間の数値を表しています。

各項目、調整を繰り返してある程度理想の動きになったら完成!!・・・というわけにはいかず。CATMotionエディタでの調整だけではどうしても脚が伸びきったり、カクついたりするので、最終的には手動での調整が必要になります。

その際はレイヤマネージャに調整レイヤを追加して、手動でキーを打って調整を行うことになるのですが、アニメーションカーブを見ながら直接編集出来ないので、カクツキなどは非常に調整し辛いです。(キーをベイクすればカーブを編集できますが、ベイク後CATMotionの機能は使えなくなります。)

またCATMotionエディタに戻って速度や動きの調整を行うと、調整レイヤーで付けたキーも調整し直す必要があるので、場合によっては最初から手付けでアニメーションを付けた方が早かった・・という可能性が無くもありません(汗)

ただ、ここでは紹介出来ませんでしたがスプラインを使用して好きな方向や地形の起伏に合わせて自動で歩かせる事が出来るなど、他にも便利な機能があるのでmaxでアニメーションを付ける機会があればCATを試してみても良いかもしれませんね。

それではまた!