ゲーム待機モーションの作成手順をまとめています。
※画像はMayaですがどのCGソフトでも応用できる内容です。
[使用モデル:SOTA_ma] Boothで無料配布中!
目指すアニメーション
今回はとくにキャラクター性は持たせずに、汎用的な素立ちのモーションを作成します。
- フレームレート:30FPS
- ループサイクル:80F
- ゆっくり呼吸をしながら次の動きにそなえている素立ちポーズ
- どのモーションにも遷移しやすいニュートラルな状態
そもそも待機モーションとは?以下の記事に詳しくまとめました。合わせてどうぞ。
呼吸の揺らぎを表現する
全身が軽く揺れるような柔らかい動きを表現していきます。
特に何もしていない待機状態のため大きな動きはさせません。かといってビタ止めはNGなので、静かに呼吸している上下動の動きを入れていきます。
基本となる上下動に対して残しを入れることで、体全体が揺らぐようなゆったり柔らかい表現ができます。
ゲームモーションとして使えるデータにする
待機モーションはすべてのアクションの起点になる最重要なデータになります。
実際にゲーム制作で使いやすいようにデータを整えることも意識していきましょう。
待機モーション制作の流れ
手順を大きく前半と後半で分けて考えます。
- ブロッキング
- レイヤードアプローチ
ブロッキング...呼吸で揺らぐ動きの土台を作ります
レイヤードアプローチ...パーツごとの揺らぐ動きをずらして柔らかい揺れの表現にしていきます。
以下、順に解説していきます!
ブロッキング
まずは揺れの元になるキーポーズだけ作成します。ブロッキングで決めていくことは以下の3点です。
ブロッキングで決めていくこと
- 基本のポージング
- サイクル尺(何F周期でループするか)
- 動き幅(どれぐらい揺れるか)
この中でブロッキングとしてしっかり決めないといけないのは「サイクル尺」です。
「基本のポージング」は後からアニメーションレイヤで微調整できます。
「動き幅」の調整は後半のメイン作業になるので、ブロッキングではある程度の仮作成でも大丈夫です。
「サイクル尺」はレイヤードアプローチに入ってからの変更はできないため、ブロッキングの段階でしっかり決めておく必要があります。
ブロッキング手順
- 0F:待機ポーズを作成
- 80F:待機ポーズをコピペして終了ポーズを作成
- 40F:揺らぎポーズを作成
- COGを少しだけ前下へ移動する
- 胴体を前方に少しだけ曲げる
- 顔を少しだけあごを引く
- 腕を少しだけ前へ揺らす
待機ポーズはニュートラル・正面向き
0Fに作成する待機ポーズはゲームモーションの起点になる重要なポーズになります。
- どんな動きにもつなげやすいように中間的なポーズに
- ゲーム中に前を向くように顔は正面を向かせる
- 両足・COGは原点位置から極端に離れないように配置する
キーポーズは中間に1つだけ作成する
開始終了以外のキーポーズは1点のみ、サイクル尺のの中間に作成します。
- 0F:開始ポーズ
- 40F:揺らぎポーズ
- 80F:終了ポーズ
揺らぎポーズではCOGを前後に揺らす動きにしています。あまり大きな変化はさせず、全身が同じ方向に揺れていればOKです。
キーポーズが一通りそろったら、各キーポーズのつながりを調整していきます。
待機の基本ポーズ・テンポはこの段階で決めていきます。
レイヤードアプローチ
レイヤードアプローチでは、体のパーツごとに動きのタイミングをずらす「残し(オーバーラップ)」という表現を使って柔らかく揺れる動きを作成します。
レイヤードアプローチの作業
- パーツごとの残し
- 動き幅の調整
- 軌道の調整
- アニメーションレイヤで基本ポーズを調整
レイヤードアプローチ手順
- 胴体のキーフレームをすべて選び8F後ろへずらす(8F 48F 88F)
- 首・頭のキーフレームをすべて選び14F後ろへずらす(14F 54F 94F)
- 肩~腕のキーフレームをすべて選び18F後ろへずらす(18F 58F 98F)
- 全身のアニメーションをサイクル化する
- パーツごとに動き幅・軌道・タイミングを整える
以下、ポイントについて解説していきます。
キーをずらして残しをいれる
COGの動きを起点に胴体→顔・腕と動きが遅れて伝わる、残し(オーバーラップ)という表現を入れていきます。
上半身の動きに残しが入ることで、ゆったり揺らぐような柔らかい動きが表現できます。
カーブのサイクル化
同じ動きを繰り返すようにカーブのサイクル化をします。
サイクル化をすることでずらしたアニメーションカーブも動き続けるためループモーションになります。
【Maya】カーブのサイクル化
- 全コントローラを選択する
- グラフエディタから
メニュー:ビュー>インフィニティ にチェックをする - プリ / ポストインフィニティをサイクル化 をクリックする
【3dsMax】カーブのサイクル化
- 全コントローラを選択する
- カーブエディタから
メニュー:編集>コントローラ>範囲外のタイプ をクリックする - 設定を「ループ」に変更する
動き幅の調整
パーツの動きをずらすことで、動きが少ない箇所・動きすぎている箇所が出てきます。これらはカーブの縦幅を加減して、軸ごとに動き幅を加減しながら調整していきます。
COGから近い体幹は動き幅を少なく、末端の手首は動き幅を大きくすると腰から自然に揺れた感じが表現しやすいです。
頭は揺らすと目線がブレてフラフラして見えるので、揺れは抑えめにします。
円弧軌道
揺れる動作は各パーツが円弧軌道になります。
XYZ軸が同じタイミングだと直線的な軌道で硬い動きになりますが、軸のタイミングをずらすことで円弧軌道にすることが可能です。
XYZが同タイミング=軌道が直線
Yのタイミングをずらす=軌道が円弧
ポーズ調整
レイヤードアプローチの作業が進んでからポーズを変えたいときは、アニメーションレイヤを使うと便利です。
ゲームデータとして注意する点
モーション作成が終わったら、最後にゲーム用モーションとしてデータを整理しておきます。
待機モーションはほぼ全モーションに関わってくる部分ですので、丁寧なデータ作成を心がけたいところです。
待機ポーズを作成する
待機モーションの開始Fは「待機ポーズ」といわれ、他のモーションでも使用する重要なポーズになります。
キーを移動して揺らぎを表現するとキーの位置がパーツによってバラバラなので、全身にキーを打つことで確実にポーズとして固定しておきます。
ジンバルロックを解消する
待機ポーズがジンバルロックを起こしていると、派生するすべてのモーションがジンバルロックのまま開始することになり使いにくいデータになります。
できる限りジンバルロックを回避するように、以下の点を試してみると良いです。
- ポージングのニュアンスを変えずにジンバル軸を調整する
- 無理なら多少ポージングを変えてみる
重心の座標値を丸める
重心(COG)がシーンの原点から離れていたり、不必要な数値が入っていると後々トラブルの元になることがあります。
重心は必ずシーンの原点上に配置するようにしておきましょう。
絵的に変化がなければ、位置「0.04」や回転「-360」のような数値も「0」にしておく。
数値が入る場合も「0.3」など小数点第一位くらいの数値に丸めておくことをおすすめします。