2012年5月19日土曜日

3dsmaxでfbxからbipedへモーションを移植する方法 その2

今回は、[3dsmaxでfbxからbipedへモーションを移植する方法 その1]で設定したファイルを基に
実際にbippyを使ってbipedへモーションを移植するフローを書いてみます。



今回テストした環境は↓ですので、Windows7や他のバージョンのbippyだと別挙動かもしれません。
OS : WindowsXP SP3(32bit)
DCC: 3dsmax2010日本語版
bippy : 1.97

01 まずbipedに対応した骨構造を持つfbxファイルを読み込みます。bipedの骨構造は背骨など各
関節数、尻尾やポニーテールなどが付属で付く可能性がありますが、そのあたりはbippyがうま
く処理してくれます。骨の親子構造が合っているか確認し、違っていたら骨構造を処理元のDCC
ツールであわせてから再度読み込みます。


02 fbxファイルを 読み込んだらbippyスクリプトを起動します。
先程記述したBipedとFBXの骨構造を関係付ける設定ファイルを
Load Definisionから読み込みます。各骨の名前がファイルと同じか確認し、必要なら修正します。


03 次に、最初に3dsmax上で作ったbipedのfigファイルを指定します。これをしないと腰から下の
bipedがきちんと対応ファイルを設定しているのにうまくコンバートされない場合があります。
骨構造が同じ場合、3dsmax上でbipedを新規で作ってからfigファイルを出力すれば使えます。
身長や腰の位置、肩の位置はなるべくその骨の通常ポーズ時のものに合わせておくと精度が
上がります。、またfbxで入っている骨数やポニーテールなどのオプションが入っているかどうか
しっかり確認します。



04 リストを比較して、リスト左側の*のついた必須項目に対応する名前が右のFBX側にきちんと
入っているのを確認したら、ウィンドウ下のGO!ボタンを押します。


05 うまく行ったでしょうか。肘や膝の位置など、多少再計算の途中でぴったり同じにならない部分
がありますが、概ねモーションデータが渡っていると思います。ここからさらに精度を上げる場
合、figファイルの体型を、基になる体型により近づけるのが良いでしょう。


以上


次回はこれまでの一連の流れを使い、

bipd[3dsmax] ⇒ SIでRIGにアタッチして編集[softimage] ⇒ biped[3dsmax]

のフローを書きます。

2012年5月7日月曜日

3dsmaxでfbxからbipedへモーションを移植する方法 その1

2012年4月現在,3dsmaxで使用する機会の少なくないbipedですが、
最初bipedで作成したモーションをfbx経由で更に外部で編集後、再度bipedへ戻す
フローには、Bippyなどのインポート支援スクリプトが必要です。
今のところ日本語検索だとそれ関係の記事が見つからないのでちょっと書いてみます。


bippyがどんなスクリプトかは次の動画を見て下さい。


今回は、Bippy v1.97をダウンロードしてユーザー定義ファイルを作成するまでを書いています。

※骨名、階層構造、初期値(いわゆるバインドポーズ)の各回転値(Rotation)はbiped準拠
しているか、コンバート可能な近しいものとして説明しています。


今回テストした環境は↓ですので、Windows7や他のバージョンのbippyだと別挙動かもしれません。
OS : WindowsXP SP3(32bit)
DCC: 3dsmax2010日本語版
bippy : 1.97

01 まずはここから。必要なzipファイルがダウンロードできます。
http://www.geoffsamuel.com/Project_Files.php?proj=6


02 zipを3dsmaxのスクリプトフォルダ(C:\Program Files\Autodesk\3ds Max 2010\scriptsとか)で
解凍するとbippyフォルダとBIPPY - v1.97.msができます。
またStartupフォルダ内にBIPPY - Startup.msができていると思います。


03 その後3dsmaxを起動すると、環境によってはエラーが出るかもしれませんが、エラーの内容を
見て対処します。たいていはアイコンが所定の場所に無いとか言われるようなので、3dsmaxの
インストールフォルダ以下を検索して所定の場所にコピーして再起動してやります。
うまくスクリプトが入ると3dsmax画面の左方向にアイコンが出来ています。
次回からここでbippyを起動すると作業が早くなります。

画面が狭くなって嫌な場合は、スタートアップから先ほどのスクリプトを外します。
その場合、bippyを使うには画面右のUtilityパネルから[maxスクリプト]ボタンを押して
更に[Runスクリプト]ボタン、 BIPPY - v1.97.msを選択してスクリプトを起動します。

04 スクリプトを起動するとこんなウィンドウが出てきます。
出たウィンドウのStandard Setting内にあるListで、ボーンを選択後クリックすると登録できます。
ここは3dsmax上でやると、一度に一つずつしかボーン登録できずに面倒ですが、一度関連づけ
れば関連付けファイルを保存できるので、我慢してすべてのボーンを関連するbipedと関連付け
登録を行います。 保存したユーザーファイルは
 C:\Program Files\Autodesk\3ds Max 2010\scripts\Bippy\User Defined
などに保存されます。


骨の命名定義を3dsmax上でする手順は以上ですが、保存ファイルはアスキーエディタでもできる
ので、数個関連付けたら保存して、後はそちらでやるのが良いかも知れません。



Save やLoadはC:\Program Files\Autodesk\3ds Max 2010\Scripts\Bippy\User Defined
などを参照するので、ここでファイルを編集すると読み込みが楽になります。



今回はここまで。
次回はリストを使いつつfbxファイルからbipedへモーションを移すフローを書きます。