LockItemを利用し歩行モーションを作成する

このツールはLocalで作られたモーションをWorld上にLock(コンストレイン)するツールです。これによってLocalの使いやすさを持ったまま、Masterを自在に動かすことが出来るようになります。

 flashです。

 

概要

このツールは

 ・ATMultiConst   指定されたオブジェクトを一定期間Lock(コンストレイン)するプラグイン。
 ・ATItemPicker(AddLockItemボタン)  LockItem(足跡)を追加するプラグイン。

の二つから構成されています。

1)ATMultiConst

 ATMaultiConstはLocal上のItemをWorld上に固定するプラグインです。単純に固定するだけではなく、指定されたフレームの間だけ特定のItemにLock(コンストレイン)することが出来ます(下図参照)。下記のATAddCtrlPrintと組み合わせて使うことでFootPrintと同様のことが可能になります。
  ATMaultiConstはプラグインが実行されると同じ名前を持ったItemを検索します(ただし親子関係が付いているもののみ検索します)。同じ名前のItemを見つけるとそのItemのキーをチェックします。そしてキーとキーで区切られた区間のみLock(コンストレイン)を実行します。

 

2)ATAddCtrlPrint

ATAddCtrlPrintは上記のプラグインで使用する足用のLockItemを自動生成するツールです。AddCtrlPrintを実行すると以下のような階層を持ったLock(コンストレイン)用のItemを生成します。この中で実際に使用されるLockItemはL/R_FtCtrl(*)です。このLockItemにキーを打つことで特定のフレームの間対称ItemをLockItemにLock(コンストレイン)することが出来ます。他の部分はこのLockItemを効率よく動かす為の構造になります。

下図は各階層の機能をGif化したものです。

 

 

チュートリアル

 このツール群を使うとLocalの状態を保ったまま、World上で足のブレをなくすことが出来るようになります。また、この状態でATPose関係のツールを適応できるので歩行状態の修正が簡単に行なうことが出来ます。

歩行モーションに適応したのが下図の例です。

ステップ1 Local上で歩行モーションを作成する

まずLocalで歩行サイクルを作ります。モーションは40フレームで1周期になるものとします。歩行サイクルの作成はこのページを参考にしてください。

 

歩行サイクルはAutomaton/sample/lws/walk_7.lwsまたはwalk_8.lwsに入っています。

ステップ2 はじめの一歩

この状態でATItemPickerGereraterを実行し、以下のパネルを表示します。

 LockItem機能はPage1(大画面)の機能です。小画面が表示される場合はChgボタンで画面を変更してください。

パネルのLeftFootPrint-AddFoot及びRightFootPrint-AddFootボタンを押して足を生成します。

 (旧バージョンのために画像が異なっています)

L_FtCtrl(2)は動き出すときの軸足となるので20フレームに停止用のキーを打ちます。これで0〜20フレームまでが停止期間になります。一方キーを打たなかったR_FtCtrl(2)の停止期間は0フレームのみになります。ここでLeftFootPrint-ResetPluginとRightFootPrint-ResetPluginを実行してATMultiConstプラグインをL/R_FtCtrlに設定します。注1)

この状態でMasterを動かすと0〜20フレームの間はL_FtCtrl(2)にLock(コンストレイン)しているのがわかります。20フレーム以上では両足がフリーになります。

20フレームに移動しMasterを前進させ軸足をけり足の位置に合わせます。ポーズが決まったらRightFootPrint-AddFootを実行します。カレントセレクトがR_FtCtrl(3)になっているのを確認し、停止用キーを40フレームとします。この段階ではLockが有効になりません。Lock(コンストレイン)をする際には必ずResetPluginを実行してください。

注1)LightWave7.5では初期時にLScript上の問題で「指定されたサーバが見つかりません」というエラーが表示されますがこれはエラーでは有りません。

ステップ3 後は繰り返し

同じ操作を40フレーム、60フレームで実行すればLocalの歩行モーションをWorldで動かすことが出来る様になります。

 

ステップ4 方向転換と足モーションのよれ

Masterのモーションと足跡を修正して方向転換や階段に追随するようなモーションが簡単に作る事が出来ます。

足跡用のFootRigやMasterを動かした場合、Itemのモーションが以下の図の様に不自然なカーブを描く場合があります。これは実際のキーの位置とLockするItemの位置が食い違っている為に発生しています。

 このような場合は「ATAddLockItem」-「MatchLockItem」を使用すればLockするItemに粘着する為のキーが自動的に作成されます。

 ATAddLockItemの

ステップ5 不審者を普通の人に戻そう 視線のLock

Masterを動かすと視線等の地面に停止して欲しいItemも動きます。特に視線がふらふらすると不審者の様なモーションになってしまいます。

こんなときは視線コントローラにもATMultiConstを設定しましょう。ATMultiConstは単体でも動作可能な独立したプラグインです。まず視線コントローラのHaedGoalのモーションパネルを表示します。ATMultiConstを指定しパネル表示します。パネル上でLock(コンストレイン)するItemを指定してください。

LockItem上で0フレームと最終フレームにキーを打ちます。これでコンストレインと同等の処理が可能になります。

上記の例でも視線をコントロールする為にATMultiConstを使用しています。

ステップ6 Poseツールが使えます。

 上記のような状態でもPoseツールが使用できるのがLockItemの最大のセールスポイントです。したがって、0フレーム目を修正しATCopyPose/ATPastePoseAgvで修正点を全フレームに適応することが出来ます。

 ただしこのときよれが起こる可能性があるのでMatchLockItemを必ず実行してください。また。既にLockされた部分は修正されません(LockItemによって書きつぶされてしまう為)。Lock部分は残念ながらシーンのLockItemを修正してください。

注意事項

1)このツールはあくまでLocalのモーションをWorld上に固定する為のツールです。キャラクタスタジオや他のFootPrint機能を持ったツールの様に自動的に腰が動いたりバランスを取るわけではありません。使用方法としては予めLocalでモーションを作成後、Masterを動かしながらCtrlPrint(足跡)追加して形になります。

免責事項 その他

  本ソフトウェアおよび書類を使用したことまたは使用できなかったことから生じる、 直接損害、間接損害 につき一切の責任を負いかねますので 予め了承ください。 要望やバグがある場合は以下のアドレスまでメールしてください。

  Copyright Noboru Fujiyama 2004/09/17
  e-mail : noboyama@yk.rim.or.jp
  homepage : http://www.yk.rim.or.jp/~noboyama/

 

戻る