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

  • 歩行モーション
  • タイムストレッチ

前回は待機中のモーションを与えるところまで進みました。
今回はさらに複雑な「歩行」を行います。
なお、今回はその場で足踏みするまでとしました。

歩行時の動き

蟻は6本脚になります。

まずは脚の運び方についてみていきます。
歩行時は、3本が地面に接し、残り3本が地面から離れています。
それぞれの脚は軸になる部分(接地)、前進する部分(地面から離れる)を交互に繰り返すことになります。
以下は、赤い丸の部分が接地している脚になります。

この3本の脚で踏ん張りながら、残りの3本の脚を前に移動させます。
この際、同時にというわけではなくタイミングをずらした状態で動かすほうがそれらしくなります。
次の段階で、移動したほうの脚で踏ん張りながら、残りの3本の脚を浮かせて前に移動させます。
接地の脚は交互に役割が入れ替わることになります。
なお、左右で接地の脚と浮く脚は逆の関係になっています。
この歩行時の脚の役割の入れ替わりタイミングに合わせて、体は上下することになります。
正面から見ると、動かす脚1本1本は円を描くように前に前進します。

この動きが繰り返されます。

歩行のキーフレームを指定

0フレーム目のポーズは以下のようにしました。

赤丸の部分は脚が地面に接地している箇所。
それ以外は浮かしています。

5フレームごとにキーフレームを登録するとし、4キーフレーム(5×4=20フレーム)で脚を持ち上げて前進、接地の1回分の動きとします。
20フレーム目ですべての脚が接地している状態になります。
なお、すべてルートボーンに対してキーフレームを割り当てています。

はじめは、浮いている3本の脚をすべて同じタイミングで動かし、接地させました。

動画にしました。

上下運動

脚だけを動かした場合は、あまり歩行という感じがしません。
そこでルートボーンのオフセットのY値を変化させて、上下運動を20フレームごとに与えます。

先に脚を動かしたキーフレームを登録してから上下運動をキーフレームに割り当てた場合、
すべての既存キーフレームに対して脚の接地の再調整を行う必要が出てきます。
そのため、この上下運動のキーフレーム割り当て作業は脚を動かす前に行うほうが効率がいいです。

脚3本が浮いたタイミング(ここでは0フレーム目)では、体は地面から遠ざかります。
全ての脚が接地するタイミング(ここでは20フレーム目)で、体が地面に近づきます。
これを繰り返すことになります。

0-20フレームを上下運動を加えて再度調整しました。

脚以外を動かす

頭や体も動かし、全体が運動しているようにします。
0-20フレーム目でわずかに頭と腹を揺らしました。

この作業も、上下運動と同じく脚運びのキーフレーム割り当ての前に行ったほうが効率がよさそうです。
以上で、まずは0から20フレーム目までのキーフレーム割り当てができました。
すべてルートボーンに対してキーフレームを割り当てている点に注目するようにしてくださいませ。

以上の「上下運動」「脚以外を動かす」「脚を動かす」を繰り返していきます。
順番に、大きい動きからキーフレームを与えていくのが効率が良いかと思われます。
次は作業効率を考えて作業を追っていきます。

上下運動

ルートボーンのオフセットのY値を変化させて上下運動を行い、キーフレーム登録していきます。

0、40、80フレーム目は3本の脚が浮いてる状態です。
その間の20、60フレーム目はすべての脚が接地している状態です。このとき、体は地面に近づきます。
結果として、20フレームごとに波のように上下に運動します。

上下運動のキーフレームを登録したものを動画にしました。

0-20フレーム目のキーフレーム割り当ては完了していますが、それ以降は上下に動くだけです。

脚以外を動かす

20フレームごとに、脚以外の頭や腹など動かしていきます。
40、60、80フレーム目で調整を行いました。キーフレーム自体は増えていません。

脚を動かす

20フレーム目以降の脚を動かしていきます。
20フレーム目はすべての脚が接地している状態でした。
次は、0フレーム目で接地していた脚を浮かしていきます。
以下の画像の赤丸は脚が接地している箇所です。

40フレーム目の脚の接地は0フレーム目と逆になります。
40/60/80フレームを区切りとして意識しながら、20フレーム以降の脚を5フレームごとに調整していきます。

モーションウィンドウでは以下のようになりました。

20フレーム目、60フレーム目ですべての脚が接地します。
キーフレームを登録したものを動画にしてみました。

まだまだぎこちないです。これを再調整していきます。

順次ポーズを付けてキーフレーム登録した段階では、80フレーム目と0フレーム目は違うポーズになっています。
これは当然で、歩行の場合は前進するため、浮かした脚は前に置かれます。
次の段階で軸になった脚を浮かして脚を前に置く、と繰り返すことで常に移り変わっていきます。
そのため、ここでは前進せずに足踏みをしていますが、実際はこれに加えて前進の処理が必要になります。

足踏みをループ再生するため、元の0フレーム目のキーフレームを削除し、80フレーム目のキーフレームをコピーして0フレーム目のキーフレームとして配置します。
さらに5/10/15/20フレーム目での脚のずれを再調整しました。
「接地している脚を極力地面からずらさない」を意識して調整します。
ずれがある場合は、脚がずれないようにポーズを編集しキーフレームを更新します。
宙に浮く脚については次の20フレーム目の接地後に軸脚になるため、大きなポーズ修正は加えないようにします。
これは根気のいる作業になります。
脚の運びをある程度調整後、アニメーション設定で「フレーム数」を80にしてループ再生してもつながるようにします。

0フレーム目と80フレーム目は同じポーズであるため、ループ再生してもつながったモーションになります。
ここまでを動画にしてみました。
この動画は2ループしています。

まだ違和感があります。

前脚の微調整

前脚の動きが大げさなため、少し抑えて動きを小さくしました。
また、前脚が外に広がっているため、頭に近づくように少し狭めました。

ここまでを動画にしてみました。

脚の運びとして、その場で足踏みするものとし、脚を持ち上げてから前にかぶせるように振り下げて接地、元の位置に戻るように+X方向に引く、としました。

後脚の微調整

後脚も前脚と同じように微調整しました。

少し速くする(タイムストレッチ)

少しモーションがゆったりしているため、もう少し速く動くようにします。
キーフレームを全体的に狭める操作を行います。
これは「タイムストレッチ」と呼びます。

ブラウザでルートボーンが選択されていることを確認し、モーションウィンドウのメニューより「全て選択」を選択します。

次に、モーションウィンドウのメニューより「タイムストレッチ」を選択し、タイムストレッチダイアログボックスで「ストレッチ比率」を80%としてOKボタンを押しました。

これは80フレームの場合は、80 * 0.8 = 64フレームに置き換えられます。

左上の白い三角をクリックしてアニメーション設定を表示し、「フレーム数」を64としました。

アニメーション再生すると以下のようになりました。

複雑なように見えますが、冒頭の「歩行時の動き」のルールに従っているだけです。

最後にワイヤーフレームを非表示にして(透視図で「テクスチャ」を選択)、オブジェクトモードでアニメーションを再生してみました。

上から見下ろした場合は以下のようになります。

歩行らしくなりました。

歩行の前進まで行きたいところですが、「蟻」はここまでとします。
蟻のボーン設定とスキン、キーフレームを使った「待機」や「歩行」は、Shade3Dでは難易度の高い操作になります。
ここまではリズムに乗せた繰り返しの動きですが(もし、キーフレームの間隔や動きに周期性がない場合はストレスになるというのを見てみるのも面白いかもしれません)、
モーションはこれで終わりではなくまだ先があります。
昆虫シリーズは今後何種類かチュートリアルで書く予定としていますので、そのときさらに進んだモーションの設定については説明していければと考えています。

次回は別のテーマにチャレンジします。

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