アニメーション事始め (4)
~第4回「動きのパターン化」
今回からモーションについての解説に入っていくことにします。
キャラクタに命を吹き込んでいきますよ。
以前の連載「ポリゴンメッシュでキャラクタを作成(モーション編)」で四足歩行について説明してますが、今回は二足歩行がメインになります。
前回から引き続き、「ミノタウロス」と「骸骨(がいこつ)」をモデルとして説明していきます。
動きのパターン化
ゲームではプレイヤーの操作にあわせて動くので当然ではありますが、映像作品を作る場合でも、キャラクタの動きについてはいくつかのパターンに分類できることが多いかと思います。
音楽で言う小節みたいな区切りですね。
待機する(idling)、歩く、走る、攻撃する、などいくつかのパターンに分けてそれぞれのモーションを作っていき、それらを組み合わせることで全体の動きを表現します。
ここでは、そのパターンとなるモーションを与えていきましょう。
待機のモーション
待機時に呼吸している感じを出します。
この動きより、パターンを作る際の基礎的な知識をいくつか挙げてみます。
ポージングをする
待機の初めのフレームとなるだらっとしたポーズをキーフレームとして割り当てます。
なおボーンのモーション用の操作は、ジョイントモードにし、マニピュレータ座標系を「ローカル」にして操作するようにしてください。
また、今回は初期の姿勢ではなくモーションとしてのキーフレームを与えますので、モーションウィンドウの「シーケンス」チェックボックスがOnになっているのを確認して進めるようにします。
ルートとなるボーン(ミノタウロスではお尻のbone_Hips)を少し下に下げます。ボーンのオフセット値が変更されるのはこのルートボーンのみ。
足が地面の上に出るように、足の付け根やひざのボーンを回転させます。
後は、背を少し曲げて猫背にしたり手を下していきます。
ポージングで訓練されたらこのあたりはすぐできますよね。
ポーズが決まってから、モーションウィンドウでシーケンス位置が0になっているのを確認し、「+」のキーフレーム登録ボタンを押します。
ここまでがモーション向けポージングの1ステップになります。
モーションウィンドウでキーフレームを登録する場合に注意点があります。
1つのキーフレームにポーズが割り当てられており、その後のシーケンス位置にキーフレームをポーズを変えて登録する場合。
「シーケンス位置を移動 → ポーズを決める → キーフレームを登録」という順番を守るようにしてください。
「ポーズを決める → シーケンス位置を移動 → キーフレームを登録」という手順を行うと、シーケンス位置を移動した段階でポーズが補間の形で再計算されるため、割り当てたポーズはなくなってしまいます。
待機のモーション
3DCGの場合は、キーフレームを与えるとその間は補間されて滑らかにアニメーションします。
待機の動きの場合は、2種類のキーフレームがあれば1-2-1と並べてそれらしくできそうです。
それを動画にしてみました。
全部で80フレームで、0と40の位置にキーフレームを配置、80フレーム目で0と同じキーフレームのポーズをコピーしました。
この際の動きとして、体全体を動かすようにすることが大事です。一部だけ動かすとロボット的な動きになってしまいます。
このミノタウロスのモーションの場合、上下運動をするのに加えて、ほんの少し正面から見て背骨や首を傾けたりしてます。
ただ、人をよ~く観察してみましょう。ミノタウロスはこの世に存在しない生物ですので、体格の大きい人などを。
例えば、駅のホームで電車待ちをしている人はこんな揺れてるでしょうか。
揺れていれば、なんだか変な気持ちになりそうですね。
これ、実際は演出も入った動きということになりそうです。
アニメーションを行う場合はそのままではつまらないので、誇張するということは大いにあります。
これは個人的に思うことなんですが(一般的に、とは考えないでくださいませ)、モニタやスマホなどでキャラクタを見た場合、動きが小さいと生きているように見えない、というのもあるかと思います。
でも、筆者の場合は某格闘ゲームの影響が強いかもしれません(汗)。
試しに、待機モーションの動きが現実に近い状態と、上記の動画のような誇張した状態を、タブレット上で比較してみました。
Shade 3DからUnityに持っていき、androidのタブレットにて実行してます。
前半は動きが少ない場合、後半は誇張した場合です。ゲーム画面の場合はこれくらい寄ってなくて、もっと遠ざかったシーンの1キャラクタに過ぎません。ですので、モーションはもっと目立ちにくくなります。
さて、どっちがより生きているように感じますでしょうか。
こういうこともあって、細かいモデリングや動きは特にモバイルでは表現しにくいのもあり、3Dよりも2Dを使うことが多いのかもしれません。
といっては3Dのモーションの解説としては話が進まなくなりますので、動きの演出でカバーしていくことも重要になりますね。
歩くモーション
次は歩くモーションです。
歩くときの動きは、軸足を固定しつつもう片方の足は一歩前へ。軸足を左右で逆にし、1つ前で軸足だった足を一歩前へ。で前進させます。
考えてみると、結構複雑な動きになりますね。これを意識すると、違和感のない前進がしやすくなるかと思います。
歩く動画を用意しました。
これは、歩くパターンを2回繰り返してます。これをもとに歩くときはどういった動きをしているのか、というのを順番に追っていきます。
50フレームで1パターンとしてます。
このうちの歩く要素として以下のポーズを用意しました。
7つのキーフレームで、最初と最後と中央の、両足が閉じている姿勢は同じものでOKです。
機械的にならないように、少し姿勢を変えるのもありかと思います。
ルートボーンのオフセットは上下移動に加えて、+Z方向に移動していってます。
シーケンス値 | 内容 | 軸足 | 地面に接する足 |
0 | 両足が閉じている | 2 | |
10 | 左足を持ち上げる | 右 | 1 |
15 | 左足を地面に下ろす | 右 | 2 |
25 | 両足が閉じている | 2 | |
35 | 右足を持ち上げる | 左 | 1 |
40 | 右足を地面に下ろす | 左 | 2 |
50 | 両足が閉じている | 2 |
両足を閉じているポーズは3か所で使ってますので、この場合は5ポーズ用意すれば歩く動きになりますね。
両足が閉じたポーズのときに高くなります。また、足が閉じて開いて、の繰り返しになりますので、ルートボーンのオフセットの軌跡は波のようになります。
片足を上げて前進する場合、逆の足は地面に固定で位置は動きません。これが非常に大事で、この軸足の固定を意識してモーションを与えるようにしてください。
片足を持ち上げて地面に下す場合は、前に倒れこむ姿勢を意識するのもいいと思います。上記では、実際にルートボーンは前のめりになるようにX軸中心に傾けてます。
補間で地面に足が沈んでしまう場合
足が沈む部分はキーフレームの間になると思いますので、1つ前のキーフレームを選択し、モーションウィンドウの「コーナー」をOnにしてみてください。
これは、オフセットの移動量を結んだラインが曲線となるのを直線(単純な線形補間)にするオプションになります。
その場で足踏みさせる
ゲームなどで使う、映像作品で要素として歩くパターンを利用する場合は、前進ではなくてその場で足踏みさせていたほうが都合がいい場合があります。
ループ再生させる場合もそうなりますよね。
この場合は、以下の手順で修正します。あらかじめルートボーンを選択しておきます。
- モーションウィンドウでキーフレームのあるシーケンス位置に移動
- 形状情報ウィンドウのボーンジョイント属性のオフセットのZ値を0.0にする
- モーションウィンドウの「+」ボタンを押して、キーフレームを上書き
これをすべてのキーフレームで行います。
動画にしてみました。
ここで作成したモーションについてはダウンロード(anim_4_minotauros_bone_motions.zip)できるようにしました。
ただし、ミノタウロスのモデリングデータはつけておらず、ボーンだけになります。
モーションの移行手順は以下で行うようにしてください。
本記事でダウンロードできる「minotauros_bone_walking_01.shd」を開きます。
bone_Hipsのボーンを選択し、モーションウィンドウでカギマークをクリックして出るコンテキストメニューより「全て選択」+「コピー」。
ミノタウロスをマーケットプレイスからダウンロード後、
minotauros.shdを開きます。
そして、斧のボーン(bone_axe)と斧(axe)を削除しておきます。
bone_Hipsのボーンを選択し、モーションウィンドウでカギマークをクリックして出るコンテキストメニューより「貼り付け」。
これで、モーションがコピーできます。
長くなりましたので今回はここまでです。
走るモーションについては次回に解説予定です。
後、ここでの待機や歩く動きを骸骨に移植したらどうなるでしょうか、そのときの問題点は?といったことも次回もしくは次々回に。
文:ft-lab
この記事へのご意見・ご感想などはこちらで受け付けております。