UE4のテンプレートに自分で作ったキャラを入れて動かしたい そのゴ
早いものですでに第5回。
上の図は歩きモーションのウォークサイクルを概念で表しています。歩きや走りのループは「最初と最後のキーが同じポーズで、真ん中に反転したポーズがある」アニメーションになります。
それではサクサクと歩きモーションを作成しましょう。
前回作成した待機モーションから新たな歩きサイクルを作ります。
まず、前回の書き忘れwとしてドープシート下のメニューにある「F」ボタンをクリックし、待機モーションを「フェイクユーザー化」してください。これをしておかないとファイルを開き直したときにアニメーションが消えているだと!?という現象に見舞われることがあります。
これはBlender独自の仕様で、正直面倒くさいです。
また「これは使えなかったな…」という実験や遊びで作ってみたアクションを消したいときには、そのアクションにあるすべてのキーを削除してから「shiftを押しながら×ボタンクリック」で一種の「削除待機状態」になり「0testmotion」などという具合にゼロがプレフィックスされます。その場でアクションを削除できるのではなく、Blenderを開き直すと「0のついたアクションが削除されているよ!」という安全な?仕様ですので覚えておきましょう。
※ちなみにBlenderのデータは大抵この方法で管理できます。
閑話休題。
話を戻して…待機モーションをフェイクユーザー化したなら、その隣にある「+(プラス)」ボタンをクリックし、アクションを追加します。walkでもArukiでもなんでも良いですが「アルファベットで書く」ことが絶対条件です。というかwebでもCGでもデータは必ず半角英数字で書くようにしましょうね。
続いて再びFボタンで新たなアクションもフェイクユーザー化しておきます。
続いて、ドープシート内にマウスポインタを置き、ショートカットBキーで矩形選択モードにしてから「最初のフレーム以外のすべてのフレームを選択」してから削除します。削除は普通にxキーかdelキーですね。
最初のキーを残しておくのは、すべてのキーを削除してしまうとアクションを追加してフェイクユーザー化したことがキャンセルされてしまい、さらに新規アクションの登録待機状態になってしまうからです。これも面倒臭い仕様ですが慣れるしかありませんw
※こうした「困った状態」もひとつの体験ですので、ぼくの解説に逆らって「言われたことをやらない頑固者」になりきり、すべてのトラブルを体験してみるのも実は「知識の引き出しを広げる」上では重要…かもしれませんよ?w
それでは続いて、0フレームにタイムラインマーカーを戻して、最初のポーズを作成します。このとき、待機モーションで作成したポーズをそのまま使って「歩きはじめ」を作っても構いませんが、すべてのボーンを選択してトランスフォームをリセットして始めたほうが無難です。
なお、ア二メーションを作成するときはビューポートでテンキー5を押し、パースを切って平行投影にしておくほうが能率が上がります。パースがついたままだと、接地している状態のキーが打ちにくいのです。
下半身のポージング
- 左右のカカト位置にあるIKボーンを前後に動かし、歩き開始の位置に移動する。
- IKボーンをr→xxでローカル回転し(またはローカル回転マニピュレータを使う)つま先をいい感じに回転させる。
- 同じく左右のIKボーンをグローバル移動し、接地させる。
- CTR-pelvisボーンをz軸下に移動し重心を下げる。気が向いたら回転も行う。
- Hip.LとRも調整する
これらの作業を行いつつ、ひとつひとつのボーンを動かすたびにビューポートでiキーを押し、キー打ちを行いましょう。そうしておかないと、うっかりタイムラインを移動してしまうとキーのない移動や回転はリセットされてしまいます。
「歩く」という動作は、どんな動物にとっても「あまりにも自然で当たり前な動作」ですから、下半身が極端に「おかしなポーズ」になると説得力のないモーションになります。クリーチャーなどではワザとそれを「狙う」こともありますが、いきなり面倒なことは狙わず、シンプルに歩いている感じを狙いましょう。
なお、ポーズを確認するときにはビューポートでテンキー3もしくはctrl3で左か右の側面図にして、きちんとつま先が接地(XY平面の軸に触れている)していることを確認してください。
ついでに、尻尾のキーもcキーなどで尻尾ボーンを複数選択してrで回転させることでポーズ付けしておいてもいいですね。
下半身のポーズがだいたいできたなら、0フレームですべてのボーンをaキーで選択し、iキーでキー打ちを行います。くどいようですが「位置/回転」にキーを打ちます。
この状態で開始フレームである0フレームに全身のボーンのキーが打たれました。そのまま最終フレームに移動します。そういえば書き忘れていましたが、歩きモーションはいったん「1秒=30フレーム」という考えで1サイクルとします。おそらくかなりゆっくりした歩きモーションになってしまうのですが、UE4に取り込んでから再生倍率を変更することで対処できますので問題ありません。
なお、開始フレームを0フレームにしている理由は「フレーム総数を奇数にして、中間フレームを出すため」と思って良いです。簡単にするため短くして考えると「4フレームで1サイクル」と考えると、中間がありませんよね?しかし、0フレームスタートで4フレーム終了なら、実際には5フレームあることになり、中間フレームは「2」であり、1フレーム目と3フレーム目に補完フレームが存在することになります。
最終フレーム(または開始フレーム)でビューポート右下にある「ポーズのコピー、ペースト、反転ペースト」ボタン群の一番左にあるコピーボタンですべてのボーンのポーズをコピーします。
続いて中間フレームである15フレームにタイムラインマーカーを移動し、同じくビューポート下にある「反転ペースト」ボタンをクリックし、反転ポーズをペーストします。正常にペーストされたことを確認したら、iキーでキーを打ってください。
ちなみに…ですが、Blenderのボーンポーズのコピペ機能は、選択コピーされたボーンのポーズを必ずペーストするという仕様なので、ペーストされる側のボーンはどのように選択されていても結果は一緒です。これけっこう大事なことなので覚えておきましょう。(というか実験して確認してみてください)
ゴースト(オニオンスキン)
複雑な動きをアニメートさせるためには、ボーンのゴースト機能を使うと便利です。この記事のサンプルファイルではあらかじめゴーストを設定していますが、上の画像のタブ(アーマチュア)で表示の設定ができますよ。
現状、下半身のポーズが中間フレームで反転されたので、タイムラインを再生してみるともっさりした動きですたちゅーさんが前後に足をすり足するのが確認できると思います。ここで上半身の動きを付け始めても良いですし、特に上半身の動きはいらないや!と思うなら、次の工程に進んでもかまいません。
サイクルアニメーションでは、
- 開始ポーズを作って全ボーンのキーを打つ。
- 最終フレームにそのまま同じポーズをキー打ちする。
- 中間フレームに反転ポーズをコピペする。
- 途中の補完ポーズを作成し、キーを打ったら対称フレームに反転ポーズをキー打ちする。
- 以上の工程を繰り返してサイクルを完成させる。
という一連の作業でモーションを完成させます。
実際には、左右非対称のモーション、短くて激しいモーション、長いゆったりしたモーションなど色々なアニメーションがありますが、基本的にはすべて同じテクニックが使えます。
歩きサイクルの完成
それでは歩きモーションを完成させましょう。
画像のように、左足が前進する側の中間はおよそ7フレームです。ここで適当な位置に左のIKボーンをZ軸上に移動し、つま先をいい感じに回転させておけば「歩いている感じ」が表現できそうです。
IKボーンの移動/回転キーを打ったら、それをコピーし、対称フレームである22フレームに反転コピーしてキー打ちを行いましょう。また、現時点では全身のキーを打たないでおきます。
わりともっさりとした動きではありますが、確かに歩いているように見えるようになりました。
ここまでの工程が出来たなら、完成度を上げる作業です。
- 骨盤(pelvis)に上下の動きをつける。
- 背骨と頭にも左右と前後の振りを入れる。
- hipのLとRにも動作を入れる。
- 補完フレームを増やしてみる。
などと、様々な方法で歩いている感じを高めたり、キャラの立った個性的な歩きモーションを「演出」できると思います。あるいは、さらに歩きモーションをアクション複製して、別のバリエーションのウォークサイクルを作ってみても良いでしょう。
Blenderファイルは同じ共有フォルダに公開されています。
次回はその他のアニメーション作成と補足を行います。