歩きや走りのように、同じ動きを繰り返しながらキャラクター自体は前へ進んでいくアニメーション。
Blenderでは、アクションをそのまま繰り返すだけならCyclesモディファイアを使えば簡単ですが、「動きを繰り返しながら移動させる」となると、少し別の設定が必要になります。
実はこれ、グラフエディタのCyclesモディファイアにある Repeat with Offset を使うと、かなり簡単に作ることができます。
今回は、歩きや走りなどの移動アニメーションを例に、アクションを繰り返しながらキャラクターを前へ進ませる方法を紹介します。
※その場でただ足踏みをしているなどのアクションの進ませ方ではありません。少しずつ進んでいく動きを繰り返す場合です。
移動するアクションを用意する
まずは、歩きや走りなどのアニメーションを作成します。
ここでは、一定の距離を移動する1サイクル分のアクションを用意します。
例:下図のように歩きながら少し進んでいるようなもの(Mixamoを使用していますが、自作アニメでももちろんできます。)
※ちなみにその場でただ足踏みをしているなどのアクションだと、Cyclesモディファイアでただリピート、またはノンリニアアニメーション(NLA)でストリップ化してリピートなどして、ルートボーンの位置を好きなスピードで移動させれば簡単にできます。
Cyclesモディファイアを追加する
タイムラインとグラフエディターを開いておきます。
アーマチュアを選択し、
Pose Modeに移動します。
Aキーで全てのボーンを選択します。
注意:このとき、グラフエディタで、不可視化されてるボーンがあれば全て可視化(Alt + H)しておきましょう。(選択から漏れてるボーンがあるとその動きだけリピートされないことになってしまいます。)
タイムライン上にある1サイクルのキーを全て選択します。
タイムライン上で
Shift + Eでメニューを開き、
Make Cyclic(F-Modifier)をクリックします。
すると、全てのボーンにCyclesモディファイアがつき、動きがリピートするようになります。(ただし、位置は最初に戻るように繰り返され、進みません)

Repeat with Offsetを使う
移動を伴うアニメーションでは、Cyclesモディファイアの Repeat with Offset を使います。
位置を移動させる動きをつけたボーンを選択します。(MixamoはHipsボーンがルートボーンのように使われています)
X,Y,ZLocationの値の中で進んでいることに影響している値を選択して、
そこについている
Cyclesモディファイアの
After Modeを
Repeat with Offsetに変更します。
これで、移動した値がリピートするごとに加算されるようになり、モデルが進むようになります。
全てのボーンに設定をコピーしたいとき
どのボーンが位置移動のボーンかよくわからない、などで全てのボーンにとにかくRepeat with Offsetへの変更をしたい場合。
グラフエディタのカーブの上でAを押して全てのボーンのキーを選択し、
Cyclesモディファイアの
Repeat with Offsetの上で右クリック。メニューが出るので
Copy to Selectedを押すと、他のボーンのCyclesモディファイアにもRepeat with Offsetが設定されます。

※全てのボーンの設定をRepeat with Offsetにすると、回転の数値など、他のボーンの値もずっと加算されていくので、自分はちょっとやだなぁ…って思うのですが…。(見た目はきちんとアニメできていても)
※上の図でグラフエディタ上ではZ軸でオフセットしているのにY軸上に進んでいるのは、Mixamoは90度軸が回転しているからです。
Mixamo使ってみたいっていう方は以下の記事で取り込んでBlenderで使えます。
これによって、アニメーションを繰り返すたびに、前のサイクルから続くように値をずらしながらリピートできます。
動きを確認して調整する
あとはタイムラインを再生して、アクションが繰り返されながら移動していることを確認します。
移動距離や歩く速さを変更したい場合は、元になる1サイクル分のアニメーションを調整することで、全体の動きもまとめて変更できます。










コメント