ATSaveHmot.lsはAutomatonRigのモーションを.hmot形式でセーブする為のLScriptです。このツールで作成したhmotファイルはDStorm製のプラグイン「MapMotion2.p」を使って直接キャラクタにモーションを割り付けることが出来ます。ATSaveHmotではコントローラNULLのモーションも同時に保存している為、骨格とRigの種別が同じであればモーションを正確に再現すること出来ます。FK情報は焼きこまれたものではなく生のデータを保存します。
2003/12/20 MapMotion2複数キャラクタ対応に伴うドキュメントの修正。
2003/11/15 1.1 読み込み、書き込み処理の最適化。読み込み、書き込みディレクトリは以下の優先度で指定する。
1)前回のディレクトリ
2)シーンディレクトリ
3)ContentDirectory
ATSaveHmot ファイル拡張子(hmot)の付加。拡張子は強制的にhmotに指定される。
2003/10/30 1.0公開
ATSaveHmot バグ修正、R/L_FtRot、R/L_FtTipGoalの回転がセーブされない問題に対処。
2003/10/22 Acs3bに対応。ただし、Acs3b<->Automatonモーション変換はサポートせず。
2003/10/16 α版 登録
1)セーブしたいモデルのNULLかBoneを選択します。
2)ATSaveHmot.lsを実行します。以下のようなセーブ用のダイアログが表示されます。
Filename セーブするモーションファイルを指定してください。
ActorName アクター名を指定してください。MapMotion2.pで使用する場合はデフォルトでかまいません。
MotionName モーション名を指定してください。MapMotion2.pで使用する場合はデフォルトでかまいません。
StartFrame 開始フレームを指定してください。
EndFrame 終了フレームを指定してください。
3)OKを押すとモーションファイル(hmot)が生成されます。生成されるhmotファイルのStartRangeとEndRengeはFrameStartとFrameEndと同じになります。
作成されたモーションファイル(hmot)はMotionMixerで読み込むか、プラグイン「MapMotion2.p」を使用してキャラクタにモーションを割り当ててください。
ちなみに「MapMotion2」はここで手に入ります。
http://www.dstorm.co.jp の 「無償プラグイン」->「Motion」->「MapMotion2」
http://www.dstorm.co.jp/dslib/motion.html (直接)
●IK/FKモデルとFKモデルではRigが異なる為、正確なモーションの受け渡しが出来ません。しかし、MapMotion2のマッピング機能を使えば異なったRigのモーションを適応することが可能になります。マッピングファイルを付属ファイルとして添付していますのでご利用ください。
map_motion2/mop_motion2_IK_toFKIK.txt IKモデルで作成されたモーションをIK/FKモデルにロードします。
map_motion2/mop_motion2_IKFK_toIK.txt IK/FKモデルで作成されたモーションをIKモデルにロードします。
MapMotion2実行時に上記のファイルを読み込んでください。
●FKモデルにIKモデル又はIK/FKモデルのデータを読み込む場合は必要に応じてIK->FK変換を実行してから書き込み及び読み込みを行なってください。
DStormさまのご協力により複数キャラクタ上でもモーションファイルが読み込めるようになりました。ここでは複数キャラクタにモーションを適応する方法や注意点を述べて生きます。
単一キャラクタと複数キャラクタの場合の大きな違いは名前が重なっているということです。従ってこの名前をマッピングし直してやる必要があります。
複数キャラクタにモーションを適応する場合は以下の手順で行なってください。
1)MapMotion2スクリプトを実行する。
2)Loadボタンでマップするファイルを選択する。「 Automaton\map_motion2\複数キャラクタ読み込み」階層に0〜5までのマッピングファイルがあります。適切なものを選択してください。また5体以上の場合はマッピングファイルを参考にテキストエディタなどでマップファイルを修正してください。
3)これでItemのマップが出来ました。次はBoneのマッピングです。以下のボタンからマッピングするModelを選択してください。
4)OKを押すとモーションがItemに適応されます。
体格の異なるキャラクタに付けたモーションを他のキャラクタに適応する場合、手が伸びたり、足が短くなります。これは出力されるhmotファイル内に骨の長さ情報が含まれてしまっているためです。
この場合は図のように骨のPosition、Scaling情報を読み込まないようにします。Root以外のすべて骨にRot情報のみにマップしてください。
サンプルマップファイルはAutomaton\map_motion2\別キャラへの読み込み.txtです。
注意!)体格が異なるキャラクタにモーションを適応する場合は原則的にFKを使用してください。これはIKのコントローラ位置を腕や足の長さを考慮して再計算しなくてはならない為です。IKを使用したい場合は一旦FKで読み込んで、ATFKtoIKによってIKコントローラの位置を更新する必要があります。
本ソフトウェアおよび書類を使用したことまたは使用できなかったことから生じる、 直接損害、間接損害 につき一切の責任を負いかねますので 予め了承ください。 要望やバグがある場合は以下のアドレスまでメールしてください。
Copyright Noboru Fujiyama 2003/05/27
e-mail : noboyama@yk.rim.or.jp
homepage : http://www.yk.rim.or.jp/~noboyama/