「WALKING BEND tool」は、Mayaのアニメーション用ツールです。
一言で説明すると、「ウォークサイクルアニメーションをモーションパスにそって歩かせる(足が滑ることなく!)神ツール」です。
こちらからダウンロードできます。
神ツールと言わせてもらうだけあって、さすがに無料というわけにはいかずに、「60$」です。
しかし、60$を支払う価値が十分にある素晴らしいツールなので紹介します。
Pavel BarnewさんのGUMROADには他にも有用そうなツールがあるので、機会があれば取り上げたいと思っています。
それでは、「本当に足がすべらないの?」とか「四足歩行の場合はどうなの?」といった最も気になる部分を検証してみましょう。
WALKING BEND Tool とは?
このYoutube動画を見れば、とにかく凄いツールであることがわかります。
モーションパスに沿って歩かせるアニメーションを足をすべらせることなく作れてしまうのです。
しかも、四つ足動物や八本足の蜘蛛でもちゃんと機能しています。
さらに、丘のような起伏の上を歩かせることも可能です。
そんなわけで、「ポチってしまいましたよ。60$を!」。
インストール方法
インストール方法は、わざわざ動画を見るまでもなく簡単です。
ダウンロードした「zip」ファイルを解凍して、
「drag_and_drop_THIS_FILE_on_maya_window_to_create_shelf_button.mel」
というファイルをMayaのビューポートにドラッグ・アンド・ドロップするだけです。
すると、シェルフのCustomタブに、アイコンが出来るので、それをクリックすれば「WALKING BEND tool」のWindowが立ち上がります。
基本的な使い方
基本的な使い方は非常に簡単で、これから紹介する3つのボタンをおすだけです。
WALKING BEND toolを使う手順
- 全体を移動させるルートコントローラーを選択して、①の「create curve from animation」を押す。
- 出来たカーブ(モーションパス)を選択して②の「<<」を押してカーブをセットする。
- ルートコントローラーと左右の足のコントローラーを押して③の「object to curve」を押す。
- あとは、カーブ(モーションパス)を好きなように編集するだけです。
ここでは、WALKING BEND toolをダウンロードしてくるとついてくるスケルトンのウォークサイクルを使います。
ただし、ついてくるスケルトンのシーンを開くとエラーが出まが、使い方や動作の確認をする場合には問題ありません。
準備すること(付属のデータは準備されている状態です)。
ルートコントローラーとともに前進するウォークサイクルアニメーション(ルートコントローラーのZ軸のアニメーションカーブをグラフエディターで「Curves > Post Infinity > Cycle with Offset」にすれば延々と歩かせられる状態です)を用意します。
最初に、全体を移動させるルートコントローラーを選択して、①「create curve from animation」を押します。
次に、①を押して出来たカーブを選択して、②「<<」を押して、その上を歩かせるカーブとして設定する。
最後に、ルートコントローラーと、左足、右足を選択し、③「object to curve」を押す。
すると、②で選択した左足と右足とルートコントローラーにそれぞれLocatorが作られ、それぞれのLocatorにConstraintされた状態で、カーブに沿ってアニメーションするようになります。
あとは、お好みでカーブを編集します。
カーブを編集したあとも、動画のように足をすべらせることなくカーブに沿って歩きます。
もちろん細かいところを調整しなければなりませんが、ツールを適用するだけで、これだけの状態にしてくれるのです。
基本的な使い方はこれだけです。
四足歩行の場合
四足歩行の場合はどうなのか気になる人も多いでしょう。
そこで、四足歩行の場合も試してみました。
二足歩行と同じやり方
四足歩行の場合も使い方は同じです。
違うところは、ルートコントローラーと四本の足を選択して、「object to curve」で、モーションパスにアタッチします。
その結果がこちらです。
この動画を見て分かる通り、四足歩行になると、ルートコントローラーからの肩と腰の距離が離れてしまうので、やはりこういった形になってしまいました。
しかし、足がすべっていないのはさすがです。
二足歩行のときよりも修正する箇所は大きいですが、素晴らしい結果です。
四足歩行の場合のやり方
二足歩行と同じやり方でも足がすべっていないので腰や肩を修正すれば良いので、あのままでもしっかりとツールの機能は果たしてくれました。
しかし、四足歩行の場合は、モーションパスにアタッチするコントローラーの数を増やすとさらにうまく機能してくれます。
具体的には、「ルートコントローラー、右前足、左前足、右後ろ足、左後ろ足、頭、胸、腰」のコントローラーを選択して「object to curve」のボタンを押します。
すると上の動画のように、「頭」「胸」「腰」もモーションパスに沿ってくれます。
注意点として、頭のコントローラーの回転をワールドにしている場合は、機能しません。
その場合はローカルの回転へと変換してからモーションパスにアタッチしてください。
※すべてのコントローラーがルートコントローラーの子である必要があります。
ここから作業を開始できるならば、かなりの時短になり、60$の価値は十分にあります。
ちなみに、下の動画は、パスにアニメーションをアタッチしただけの状態です。
あなたは、どちらの状態から作業を始めたいですか?
ちなみに、「MayaからUnreal Engine 5へAlembic(Geometry Cash)で、アニメーションを持っていく方法」の記事でも使用したトラのリグを使用しました。
WALKING BEND tool のインターフェイス
WALKIMG BEND tool | |
---|---|
base pipeline | |
1.create curve from selected animated object and timerange | |
every ␣␣ -frames | 入力されたフレームごとにオブジェクトの位置に対応するノードが作られる。デフォルトでは20フレーム。 |
start/end only | チェックされている場合は、最初のフレームと最後のフレームのオブジェクトの位置から直線が作成される。デフォルトはチェックなし。 |
-zero vertical | 垂直を設定する。デフォルトはチェックあり。 |
create curve | 移動距離の長さのカーブ(モーションパス)を作成する。 |
2.apply anim to object to curve | |
「<<」-set selected curve | カーブを選択して「<<」を押して、セットする。 |
object to curve | カーブに沿って移動するオブジェクト(二足歩行の場合は両足とルートのコントローラー)をセットする。 |
3.curve control | |
create curve control -create curve control on each CV point | CVごとにカーブのコントローラーを作る。 |
reparent | 選択したカーブのコントローラーを親にする。 |
V | 選択したカーブのコントローラーとその子のコントローラーをすべて選択する。 |
delete curve control | カーブのコントローラーを削除する。 一つを選択して実行すれば他のコントローラーもすべて削除する。 |
create reflection -create reflected copy of curve | 選択したカーブを「base_curve」という名前でコピーしてあとで呼び出せるように保持する。 |
set position to reflected | 「base_curve」をモーションパスに適応する。上の「creaate reflection -create reflected copy of curve」で「base_curve」という名前でコピーされ保持されたカーブをモーションパスにする。 |
instruments | |
anim instruments | |
anim translate reflection | 選択したコントローラーのアニメーションをワールドに作ったロケーターに移す(translateのみで、rotateはベイクしない)。 |
reflection and constrain | 選択したコントローラーのアニメーションをワールドに作ったロケーターに移す(translateもrotateもベイクする)。 |
parent in | 最初に選択したものを次に選択したものの子にする。アニメーションも親子関係に基づいてベイクされるので動きは変わらない。 |
fast bake | アニメーションをベイクする。fast bake というだけあって速い。 |
D | anim instrumentsセクションにある「anim translate reflection」「reflection and constrain」「parent in」のボタンを押すと画面の表示がおかしくなることがあるので、そのときに押すと直る(重要なボタン)。 |
curve instruments | |
curve len maker | カーブの長さを表示するコントローラーを作る。 |
lock_len unlock_len | 長さをロックしたカーブにする。 長さが可変のカーブにする。 |
make straight | カーブを直線にする(カーブの長さは維持される)。 |
␣-spans rebuild | 入力された数値のスパンでカーブをリビルドする。 |
vertical incline control | |
set vertical independent | カーブから独立した状態(worldスペース)に、(object to curveで作られたLocatorに対して)垂直を制御するロケーター(incline control)を作成する。 コントローラーの高さは「scale_vertical」で変更する。 |
set on curve | カーブから影響を受ける状態(カーブの子)に、(object to curveで作られたLocatorに対して)垂直を制御するロケーター(incline control)を作成する。 コントローラーの高さは「scale_vertical」で変更する。 |
del incline control | incline controlを削除する。 |
DELETE W.B. OBJECTS | WALKING BEND toolで作ったオブジェクトを削除する。 |
create curve control
カーブ(モーションパス)のCVをいじるだけでは、細かいところまでコントロールして調整することはできません。
そこで、「create curve control」を使用して、カーブ(モーションパス)にLocatorのコントローラーをつけることができます。
そのLocatorを回転させる(移動もできる)ことで、細かい調整をすることが出来るようになります。
incline control
「incline control」を使用すると、傾きを制御できます。
デフォルトの状態では、上の動画のようにルートコントローラーがモーションパスに沿って歩きます。
set vertical independent の場合
ルートコントローラーを選択して、「set vertical independent」を押すと、スケルトンのルートコントローラーの上にLocatorができます。
「set vertical independent」で「incline control」を作成した場合は、上の動画のように、ルートコントローラーから独立して、スケルトンがワールド座標の上方向に直立したままモーションパスの上を歩きます。
また、前後の傾き(Pitch)だけでなく、コーナーを曲がるときのように、左右の傾き(Roll)をつけることも出来ます。
この「incline control」はaimコンストレインされたコントローラーになっているので、移動で傾きを制御します。
もちろん、「incline control」で傾けた場合も足はすべりません。
さらに、ルートコントローラーだけでなく、足にも「incline control」をつけることが出来るので、壁走りのようなものを作ることも出来ます。
「incline control」のLocatorの高さを調節するには、「Translate Y」ではなく、「scale_vertical」の数値で調整してください。「Translate Y」は基本的には使いません。
自分一人の自主制作ならともかく、誰か他の人が触る可能性のあるデータでは、このあたりをしっかりと統一しておきましょう。
set on curve の場合
同じようにルートコントローラーを選択して、「set on curve」を押して、「incline control」を作成した場合は、デフォルト状態と同じように、体全体がルートコントローラーの向きに沿ってモーションパスの上を歩きます。
「create reflection」 と 「set position to reflected」の使い方
この2つの使い方が分かりづらかったので解説します。
編集済みのカーブ(モーションパス)に、アタッチするもの設定し直したい場合
上の四足歩行の解説で使用したトラのアニメーションをアタッチする場合、最初は、ルートコントローラーと4つの足をアタッチしましたが、腰と胸がモーションパスに沿っていないため、修正が大変だと気づき、同じモーションパスに腰と胸もアタッチしたものを適用したいと考えた場合などに有効な方法です(トラの四足歩行の記事の動画はこの使い方で作りました)。
「create reflection」は、コントローラーをアタッチしモーションパスをコピーして「base_curve」という名前のカーブを作ります。
この「base_curve」は編集したモーションパスを保存しておくためのものです。
もとのカーブ(例: curve1)を、「make straight」で直線に戻し、「object to curve」で作ったコントローラー(ルートと4つの足にできたLocator)と、もとのカーブ(curve1)を消します。
そして、もう一度最初からルートコントローラーを選択して、「create curve」で、モーションパスを作るところからやり直すことが出来ます。
そのあとは、モーションパスにアタッチしたいコントローラー(例:ルート、4つの足、胸、腰のコントローラー)を選び直し、「object to curve」でアタッチします。
そして、「set position to reflected」を押せば、先程保存した「base_curve」をアタッチすることができます。
用意したカーブ(モーションパス)にアタッチしたい場合
今まではルートコントローラーからカーブ(モーションパス)を作ってそれにアニメーションをアタッチしていました。しかし、あらかじめ用意したカーブにアニメーションをアタッチすることもできます。
本来ならばこちらの使い方をしたい場合ばほとんどだと思います。
よって、この使い方の解説が、このページのメインコンテンツとなります。
まず、モーションパスにカーブ(例:curve1)を作ります。
そのカーブ(例:curve1)を選択して、「create reflection」を押します。
すると、「base_curve」としてコピーされたカーブが保持されます。
用意したカーブ(例:curve1)を選択して「<<」を押して、curve1をセットします。
次に、「make straight」を押して、curve1を直線にします。
ここで出来た直線は、curve1を直線にしたものです。
そうしたら、アタッチしたいコントローラーを選んで、「object to curve」でcurve1にアタッチします。
最後に、「base_curve」を選択して、「set position to reflected」をすれば完了です。
このように、最初に作成したカーブに沿って歩くようになります。
公式による解説動画
このツールを作ったPavel Barnevさんのほうで、解説動画を作ってくれています。
しかし、1時間半以上あり、しかも英語なので見るのは大変です。
そこで、私が解説記事を書いたのですが、私の解説では足りない部分は、こちらの公式の解説を御覧ください。
特に四足歩行のキャラクターに使いたい場合や、頭のコントローラーがワールドの回転だったりする場合は、後半部分を観てください。
まとめ
- パスに沿ったアニメーションを足をすべらせることなく簡単に作成できる。
- 2足歩行だけでなく、4足歩行以上にも対応している。
- 60$は高い(でも、その価値はあり!)
「WALKING BEND tool」は、60$という結構な価格ですが、価格に見合うだけの機能を持っています。
導入すべきかどうか?は、結局「足をすべらせずに歩かせるシーンをどれだけ作るか?」にかかってくるでしょう。
今すぐ必要な人はあまり多くないかもしれませんが、こういったツールがあることは頭の片隅に記憶しておきましょう。
他にも、Pavel BarnewさんのGUMROADには興味深いツールがいくつもあります。
機会があればとりあげたいと思っていますが、どのツールも安くはない価格なので、いつ紹介することが出来るかは、わかりません。
コメント