Mayaでキャラクターアニメーションを制作していると、武器を振る動作や歩行モーションなどでルートコントローラーに移動値が入り、開始位置と終了位置の調整に悩むことがあります。特にZ軸方向へ前進させたモーションでは、最初のポーズへ戻したい場合に手作業で調整すると時間がかかってしまいます。
ルートコントローラーの移動値を正しく管理することで、アニメーションの動きを維持したまま開始位置を合わせたり、別の場所へ流用したりできます。この記事では、Mayaでルート移動を調整する基本的な考え方と効率的な修正方法を解説します。
Mayaのモーションでルートコントローラーの移動値が重要な理由
Mayaのキャラクターアニメーションでは、ルートコントローラー(Root Controller)はキャラクター全体の位置や移動を管理する重要な役割を持っています。
例えば、剣を振りながら前へ踏み込むモーションでは、足や手だけではなくキャラクター全体がZ軸方向へ移動します。この移動をルートで管理することで、ゲームエンジンへ書き出す際にも自然な動きとして扱えます。
しかし、ルートに移動値が残った状態で開始フレームを変更すると、キャラクターが開始地点からずれてしまうことがあります。そのため、移動値とポーズの調整を分けて考えることが大切です。
方法1:ルートコントローラーの移動値だけをリセットする
最も基本的な方法は、ルートコントローラーの移動アニメーションだけを調整する方法です。
アニメーション全体のポーズを維持したまま開始位置だけ変更したい場合は、ルートコントローラーのTranslate Zなどの移動カーブを編集します。
具体的には、グラフエディタを開き、ルートコントローラーの移動カーブを確認します。開始フレームの値を0に近づけることで、キャラクターの位置だけを戻すことができます。
この方法では腕や足などの各部位のアニメーションには影響しないため、武器モーションなど複雑な動きを含む場合でも安全に修正できます。
方法2:アニメーションレイヤーを使って位置だけ調整する
既に完成したモーションを壊したくない場合は、アニメーションレイヤーを利用する方法も有効です。
新しいレイヤーを作成し、ルートコントローラーの移動だけを追加調整すると、元のアニメーションカーブを変更せずに位置合わせができます。
例えば、敵に向かって踏み込む剣撃モーションを別の場所で使用したい場合、元の前進動作は残したまま、新しいレイヤーで開始位置を調整できます。
方法3:ペアレント化や追加コントローラーで調整する場合
制作現場では、ルートコントローラーとは別に移動用のコントローラーを用意する方法もよく使われます。
例えば、Root、Move、COGなど複数のコントローラーを用意し、キャラクター全体の移動と体の重心移動を分けて管理します。
ただし、この方法はリグ構造によって適切な設計が必要になるため、すでに完成したキャラクターへ後から追加する場合は手間が増えることがあります。
そのため、単純に開始位置を戻したいだけの場合は、まずルートコントローラーの移動カーブ編集を試す方が効率的です。
モーション制作時にルート移動を管理するポイント
モーション制作では、キャラクターのその場動作(In Place)と移動込みモーション(Root Motion)を意識して作成すると後からの調整が簡単になります。
例えば、ゲーム用の攻撃モーションでは、攻撃の踏み込みをルート移動として残す場合と、その場で足だけ動かす場合があります。用途によって適切な管理方法を選択する必要があります。
また、最初からルート移動のルールを決めておくことで、後から大量のモーションを修正する手間を減らせます。
開始ポーズを合わせるときによくある注意点
ルート移動を修正するときに注意したいのは、移動値だけを変更したつもりでも、足の接地や体のバランスが変化する場合があることです。
例えばZ軸移動だけを0に戻した場合、足の位置は元のままなので、歩幅や踏み込みが不自然になる可能性があります。
修正後は必ず開始フレームから数フレーム再生し、足の滑りや武器位置のズレがないか確認すると品質を保てます。
まとめ
MayaでルートコントローラーにZ軸移動が入ったモーションの開始位置を合わせる場合、必ずしも新しいコントローラーを追加して力ずくで修正する必要はありません。
まずはルートコントローラーの移動カーブを編集し、必要に応じてアニメーションレイヤーや追加コントローラーを利用する方法が効率的です。
モーション制作では、キャラクターのポーズ情報と移動情報を分けて管理することが重要です。ルート移動の扱いを理解すると、武器モーションや歩行モーションなどの調整作業を大幅に効率化できます。


コメント