昆虫(蟻)- モーションを与える

  • キーフレーム
  • 待機中のモーションを与える

前回はスキンを与えるところまで進みました。
今回は、モーションウィンドウでポージングを行います。
また、アイドル時の静止モーションを与えていきます。

モーションウィンドウでの操作とキーフレーム

ポージングやモーションを与える作業はモーションウィンドウで行います。

モーションウィンドウの「シーケンス」チェックボックスをオフにした際に、初期状態の姿勢が与えられています。
前回説明したとおり、脚や触角は直線的に配置しているのが好ましいです。
この姿勢を元にしてボーン+スキンの変形が行われることになります。

コントロールバーで「ジョイント」を選択しジョイントモードに移行します。
ポージングやモーションを与える場合は、ジョイント(ここではボーン)に対してモーション情報を割り当てていきます。
この編集作業を行うときは「シーケンス」チェックボックスをオンにします。

ジョイントモードでボーンを回転させることで姿勢を与えていきます。
また、ボーンの操作時はコントロールバーの「マニピュレータ座標系」を「ローカル」にするほうがマニピュレータを使った回転の調整はしやすくなります。

ボーンのオフセット(移動)と回転

ボーンでは、「オフセット」と「回転」の2つのモーション要素があります。
これは、形状情報ウィンドウの「ボーンジョイント属性」で確認できます。

「オフセット」は、ボーンのローカル座標での移動量を指定します。
「回転」は、ボーンのローカル座標での回転量を指定します。
キャラクタの場合は、ルートボーン(ここでは「bone_root」と名前を付けたもの)で「オフセット」「回転」の両方を使い、
子となるボーンでは「回転」だけを使用することが多いです。
ルートボーンはキャラクタの重心に配置し、「オフセット」はこのルートボーンだけで行います。

子となるボーンでは「回転」だけを使用します。

キーフレーム

この操作はモーションウィンドウの「シーケンス」チェックボックスがオンの状態で行います。
ジョイントモードで以下のようにポージングしました。

「bone_root」は少し+Y方向に移動(オフセット)させて、回転を加えています。
ボーンをオフセット/回転させた直後はまだポージングが確定されていません。

キーフレームを登録する際はボーンのルート(ここでは「bone_root」」の名前)をブラウザで選択し、
モーションウィンドウの「+」ボタンを押すと現在のシーケンス位置(「フレーム位置」と同等の意味になります)にキーフレームが登録されます。

モーションがないポージングの場合は、0フレーム目に1つキーフレームが登録された状態になります。

キーフレームを登録する際は、ブラウザで選択したジョイントとその子が登録対象になります。
そのため、キャラクタの場合は常にルートボーンに対してキーフレームを登録していくほうが管理がしやすいです。
ルートボーンではなく脚など、それぞれに対してキーフレームを割り当てることは可能ですが、
その場合は「どのボーンに対してキーフレームを割り当てたか」というのをモーションウィンドウ下の階層構造とグラフから確認しておく必要があります。
以下は、bone_rootの他に10フレーム目で「bone_legs_left_2_2」に対してキーフレームを与えています。

ルートボーン以外でキーフレームを与えると、キーフレーム数が多くなった場合に頭の中で把握しているうちはよいのですが、
次第に管理が行き届きにくくなることが多いかもしれません。

ポージング

まずは、1つのキーフレームだけで自由なポーズを付けることに慣れていくようにします。
ポージングを行う場合は、モーションウィンドウで0フレーム目にてキーフレーム登録するだけです。


脚がY=0の地面の位置に接地するように調整しています。
また、ルートボーンは「オフセット」と「回転」の両方を使用しています。

蟻の場合は、前/中央/後ろの3組の脚があり、それが左右に配置されています。
中央の脚は横に広げて踏ん張る感じに、後ろ脚は大きな腹を支えるように後ろ側に踏ん張る感じ。
前脚は捕食用で人間での手の役割で添えるだけ、とするのがバランスとしてよいかと思います。

Shade3Dでは1つのシーン内で複数のタイムラインを持つことはできませんので、
ポージングを行った場合は、別のshdファイルとしてファイル名を変更して保存しておきます。

このポーズをベースにして、次に待機中のモーションを与えていきます。

待機中(アイドル時)のモーション

虫は、待機中にあまり動きはありませんが「生きている」感を出すために若干大げさにアイドル時のモーションを与えていくことにします。
息をするような動きです。
動きを与える場合、リズム感が重要になります。
同じフレーム数を空けて等間隔でキーフレームを配置していきます。

0フレーム目のポーズは前述のポージング時に与えたキーフレームをそのまま使用します。
以下の順番でモーションを与え、30フレーム目に新しいキーフレームを登録することにしました。
初期状態ではフレームレート(1秒で使用するフレーム数)が30フレームであるため、1秒でポーズが変わるモーションとなります。
さらに1秒で、0フレーム目の姿勢に戻ります。
合計2秒となり、ループする動きで待機モーションを表します。

  • ルートボーンの垂直方向への移動
  • 脚の接地を再調整
  • 全体を微調整

30フレーム目で、ルートボーンの垂直方向への移動

モーションウィンドウで30フレーム目に移動し、ジョイントモードで「bone_root」を下に下げます。
また、少し回転も与えました。
この状態でキーフレームを登録します。

30フレーム目で、脚の接地を再調整

脚がY=0から埋もれた形になるため、30フレーム目で脚が地面の上に出るように、
0フレーム目の脚の接地位置に極力近づくように脚のポーズを調整します。
これはボーンの回転だけを使用します。
ルートボーン(bone_root)はここでは動かさない点に注意してください。

なお、キーフレームを上書きする場合は「30フレーム目でbone_rootを選択した状態でキーフレーム登録」するようにしてください。
モーションを再生すると以下の動画のようになりました。

30フレーム目で、全体を微調整

頭やアゴ、触角など体の各部位を微調整します。
これはボーンの回転だけを使用します。

30フレーム目でbone_rootを選択した状態でキーフレーム登録して上書きしています。
静止画では分かりにくいため、動画にしました。

脚だけでなく、体全体が何かしら動いているのが確認できます。
基本的にはキャラクタにモーションを与える場合は、全体が動くようにするほうがよりそれらしくなります。
部分的な動きの場合は、ロボットのように無機質になります。

0フレーム目のキーフレームをコピーし、60フレーム目に貼り付け

ブラウザで「bone_root」を選択していることを確認します。
モーションウィンドウで0フレーム目に移動し、グラフ部をドラッグしてキーフレームを選択。
グラフ部でキーフレームが黄色になっているのを確認します。
カギマークをクリックしてメニューを表示し「コピー」を選択します。

60フレーム目に移動し、カギマークをクリックしてメニューを表示し「貼り付け」を選択します。

これで、0フレーム目のキーフレームが60フレーム目に複製されました。

全体を60フレームにしてループ再生

モーションウィンドウの左上の白い三角をクリックし、アニメーション設定を表示します。
「フレーム数」を60に変更しました。
これで、0~59フレームの再生が行われることになります。

モーションウィンドウの「ループ」ボタンを押すと、ループ再生されることになります。

モーション再生しました。

少し動きが速いため、速度を1/2倍に落とします。
アニメーション設定で「フレーム数」を120とし、キーフレームをドラッグして
60フレーム目のキーフレームを119フレームに移動。
30フレーム目のキーフレームを60フレームに移動しました。

また、上下運動が大きいため60フレーム目のポーズを微調整しました。

オブジェクトモードで透視図を「テクスチャ」としてモーション再生してみました。

透視図の視点を変更すると、以下のような再生になります。

以上で、まずは単純な待機モーションができました。
最終的には、0フレーム目/60フレーム目/119フレーム目にキーフレームを配置し、
0フレーム目と119フレーム目は同じポーズとなりました。
このキーフレーム間隔は(119フレームは1フレームずれていますが0フレーム目に戻るのであまり影響がない)等間隔になっています。
ここがもし等間隔ではない場合は、リズムが狂うことになり違和感が出てくることになります。
また、もう少し複雑さを出したい場合はさらにキーフレームを増やしてもよいかもしれません。

今回はここまでです。
次回はこれらを踏まえたうえで、歩行モーションを行っていきます。

カテゴリー: 昆虫をモデリング