今回作ったモーション、工程毎でやったことを知見としてまとめます。
Cascadeur って?
物理挙動を即時反映しながら調整できる、アニメーション作成ソフトウェアです。フレーム間の動きを滑らかに繋げたり、ポージングの調整を行うなど、様々な工程において AI(機械学習ではない)の力を感じさせてくれる、とても強力なツールだと思います。カスケーダーと読む。多分。
動画を参考にモーションをトレースする
まずは動画を見ながら、モーションの動きを頼りに作っていくのが簡単です。
チャンネル内の動画はトレスフリー・アレンジフリーです。
イラストやゲーム、アニメなどへの利用はご自由にどうぞ〜
(ご利用いただいた旨を紹介いただけたら嬉しいです!)
大変ありがたいことに、参考にできる動画が多数公開されています。前後左右のカットもあるのが嬉しい!ちなみに Cascadeur 公式チュートリアル でも使われています。
今回はこちらの動画を使います。リファレンス動画をインポートする
動画をインポートすると、連番化された画像に変換されます。キーフレームがどこにあるのか、どの程度の尺間で作っていけばよいのか、などの指標になります。
File
Import
Reference video
を選択します。Source
から動画を選択し、ロードされると以下項目が設定できるようになります。
-
Frames path
連番化された画像の配置フォルダ。それなりに枚数が作成されるので、長い場合はFrom
To
で調整しましょう。 -
From
To
動画尺の指定。Timestamp [Frame Number]
が右に表示されるので、必要なフレームで抜き出します
実行するとアウトライナに MeshObject(0)
というプレーンメッシュが追加されます。見やすい位置やスケールを調整しましょう。尺を調整したい場合は、MeshObject(0)
を選択して再度インポートすれば更新されます。
最初のポーズを作成する
まずは 0 フレーム目のポージングを作成していきます。
オートポージングリグを使おう!
Cascadeur の特徴である、物理計算を元にポージングが反映されるリグです。
とても分かりやすいプレゼン動画!数種類のリグがプリセットで用意されていますが、まずはオートポージングで動かすのが簡単です。
ポーズに必要なポイントを固定する
オートポージングリグでは、固定された(キーが打たれた)ポイントを元にポーズが計算されます。固定されていないポイントでは、ニュートラル(自然体)な位置回転が適用されます。これらは青色/緑色で色分けがされており、Shift + Z
で切り替えができます。
右足を動かしたときのポーズ計算の違い。腰のポイントを固定すると、上半身や左足の動きが制限されていることが分かります。
違和感を感じたら一旦ポイント固定を消してみる。固定されたポイント(画像では顔の向き、腰の位置、左右の手の位置)により、(この場合は左手が前に出ているので、ヘソの向きは少し右寄りに)自動でポージングを計算してくれます。
まずは大まかにどんなポーズにしたいのか、主要なポイントを入力しつつポーズを作っていきます。そのあとサブポイントで調整、という具合で進めるとよさそうです。固定してもしなくてもポージングにほとんど変化がないポイントは外しておくと、次のキーフレームへの繋がりがスムーズになります。
使い分けが大事
オートポージングはラフな作業に適していますが、細かい作業には向いていません。ブラッシュアップではポイントコントローラー、手のポージングではボックスコントローラーを使うのがよさそうです。
Pivot で動かす
「腕全体で回したい」「つま先を固定しつつ足を持ち上げたい」など、とある基点を元に回転させたい場合。
動かしたいポイントを選択します。支点となるポイントを右クリックで選択すると、枢軸として作用します。「ポイントを指定位置に持っていき、回転を調整する」よりも自然な動作が作れます。
ブロッキングを作成する
キーフレームを探す
ふむふむ・・・。私はアニメーターではないので、アドバイスというには遜色があるかもしれませんが、以下の点を意識しています。
- 足の接地や手の動きが切り替わるフレーム
- 動きが止まり、ポージングが印象的になるフレーム
(ゼェゼェ・・・)
大まかにキーフレームを作成します。細かい調整は後回しで、まずは全体感の作成です。
インターポレーションの適用
トラック全体を選択(タイムラインのトラック名をクリック)し、タイムライン上部の Interpolation on interval
を Bezier clamped
に変更します。キーフレーム間のポージングを繋いで補完する機能です。
これだけでもかなり、モーションらしくなってきたんじゃないでしょうか?
腕には FK を適用する
フレーム間が補完されて滑らかな動作になりましたが、腕は想定通りに動いていません。
これは IK
の働きによるものです。タイムラインのトラックは通常 IK
で設定されています。
トラックを開いて、Arms
を押すと、全フレームが選択されます。上部の IK
となっている箇所を FK
に切り替えます。
腕部位はとりあえず、全フレーム FK
で OK
上手く回転するようになりました。
しかし、細かく見ると変なポージングのフレームが存在するので、補完が上手くいくように調整します。特に武器を振るなど、「素早く」且つ「綺麗な軌跡を描く」部分は中間フレームを足す必要があります。
フレーム間を可視化する機能
時間軸でどういった変化が発生しているのか、可視化できる便利な機能です。
Ghost(残像)の表示
前後のフレーム(またはキーフレーム)を残像として表示します。次に取るべきポーズ、位置間隔のおおよその目安とすることができます。
それぞれのボタンは「表示フレームの指定」、左右の数値は「フレーム数の設定」。右上の鍵マークはキーフレームのみをフィルタすることができます。
特に「接地した足の踏ん張りがある」「頭部は激しく動かさない」など、前後のフレームで位置を合わせるときに重宝します。
Trajectory(軌跡)の表示
指定したフレーム間で、ポイント位置の軌跡を表示します。「勾配なくなだらかな軌跡に」「フレーム間の間隔を調整」することで自然な動きに近づきます。
伸びきった破綻を修正する
少し無理なポージングをする際、手や足先などが伸びきって破綻してしまう場合があります。
こうしたエラーは後述の Auto Physics
で問題になりがちなので先に潰します。腕を伸ばす場合は、肩の位置を調整する、などするとよさそうです。中間含め、全てのフレームで問題がないか確認してください。
Auto Physics の適用
ここまで来たらいよいよ Auto Physics
の適用です。各部位の軌跡やポージングを、いい感じに整えてくれる機能です。
左が元の、右が適用後。腰の動きなど、滑らかなカーブで修正されているのが分かります。
Physics settings
の Ghost offset
を OFF にして、元のメッシュ位置と重ね合わせます。適用するとどうなるのか、全フレームでチェックしてください。問題なければ Snap to Auto Physics
を押し、各フレームに物理計算を適用します。
Auto Physics で荒ぶるときは
割とよく荒ぶる(見た目が崩れる)ので解決方法に悩まされましたが、大まかに次の2点が原因と言えそうです。
モーションの破綻がある
キーフレームではうまくポージングできていても、補完された中間フレームで破綻が発生している場合があります。前後のキーフレームでポージングを修正してください。肩や腰のポイントとの位置関係を見直すと、期待した動作になるかと思います。
右足が伸びきった状態。前後のフレームで腰を落とす、右足を手前に引くなどするとよさそうです。
フルクラムポイントの判定
足の接地判定に誤りがある場合があります。いい感じに判定を取ってくれるのですが、たびたび期待と違う動作をするので確認が必要です。
Auto Physics
モードの時、タイムラインの上に以下の状態が表示されます。
- 両足が接地していると緑
- 片足が離れていると黄
- 両足が離れているとオレンジ
接地面で緑のエリアが表示される。キーフレーム毎に確認して、この状態が一致していない場合は修正する必要があります。
修正したいポイントを選択して、
Object properties
で Fulcrum point
の設定。Fulcrum state
を「接地していたら Enforce
」「接地していなければ NotFulcrum
」に変更して状態を強制します。既定の Fulcrum
は Cascadeur 側で判定してくれるモードです。多分。
基本的には上手く判定してくれるはずで、何かアニメの破綻がないか見直した方がよいかもしれません。
RootMotion を作成する
ゲームで Pawn
を動かすためのモーションを作成します。
-
Scene settings
からCopier
の設定を変更します-
Rotate
のWhole
を OFF(モーションによっては ON) -
Position
はZ
のみ ON。横軸の移動がある場合はX
も ON、けどノイズが多いので手調整がよいかも。縦軸の移動も基本的には手付けになる。
-
-
Fixing interpolation on change interval
を OFF-
Auto Physics の適用
で触れたように、打たれたキーの Interpolation で調整されてしまうため
-
- 全フレームを選択し、アウトライナから
Center of mass
(重心)を選択する -
Edit
Copy interval
で区間内の値をコピー - アウトライナから
root
を選択して、Paste Interval
で張り付け
重心位置で RootMotion がコピーされます。root
は表示されないため、ジョイントリグモードで確認する。
ゲームにおいて RootMotion
の動きはとても重要です。キャラ操作の触り感やスペックなどに強く影響します。大まかには pelvis
や center of mass
の位置で問題ありませんが、モーションによっては手動での調整が必要な場合もありそうです。
FBX 形式でエクスポート
File
Export Fbx/Dae
Without Meshes
で完了!
参考
なんといっても公式のチュートリアルが参考になります。というかここに書いたことは全てチュートリアルから学びました。次は Secondary Motion
について理解を深められたらいいなぁ。