【研究】FBXについてあれこれ

ちょっとまとめる時間がないので、セミナーの記事はまた後で。
今仕事でやってるFBXに関するあれこれ。
maya→maxのエクスポートなのですが、やはり一筋縄ではいかん。

そもそもFBXって何よ?って人はこちらから。Autodeskの公式ですが。
http://www.autodesk.co.jp/adsk/servlet/pc/index?siteID=1169823&id=14945696

                                          • -

まず大前提として、事前に、FBXプラグインのバージョンをmayaとmaxで合わせる必要があるかと。それぞれのソフトインストール時に、一応FBXプラグインはインストールされるのですが、常に最新のものにしておくのが無難かと思います。(現状の最新は、2012.2)

・FBXプラグインダウンロードサイト
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775855

・maxのプラグインガイド
http://www.autodesk.com/jp/fbx/2012/3dsmax/index.html?url=files/GUID-A49ECB0B-AB6D-4E9A-8CD1-8D7AD043CE7-34.htm,topicNumber=d28e1641

・mayaのプラグインガイド
http://download.autodesk.com/us/fbx/2012/jpn/index.html?url=files/GUID-75E83ABC-8BA8-4D7F-9F32-3E62FBB014C-0.htm,topicNumber=d28e311

                                          • -

■maya側のポイント&問題点
当然ながらFBXで書き出されない情報もあり、それを含んだシーンは書き出し時にエラーが出たりするので、事前に消去or修正する必要があります。(エラーが出たとしても、意外と書き出しでフリーズすることは無いです。そのへんはちょっといいかも>FBX)


・書き出しオプションは、デフォルトで用意されている「Autodesk Media&Entertainmant」をベースにすれば、基本問題無し。


・ガンマなどをテクスチャに追加適用したマテリアルは、書き出し時にエラーが出てしまう(書き出しは行われるが、テクスチャがついてこない)ので、テクスチャは「ファイル」のみにしておく。mayaでグラフネットワーク繋ぎなおせばOK。色は後でmax側で調整の必要ありだけど、Photoshopで同様のガンマを事前に入れておけばいいか?


・まだ検証中ですが、おそらくbump2Dノードを適用したバンプマップや、スペキュラマップは書き出せるっぽい。


・非表示のオブジェクトはエクスポートされない?・・・のかと思ってたら、書き出し時に「すべてをエクスポート」を選択すると書き出せるっぽい。ただその場合、エクスポート先(今回はmax)での可視性が「0.0」(完全透明)になっているので、ちょいと戸惑う。


・メッシュ、マテリアル、テクスチャ、ボーン構造は、データさえ整理すればそのままmaya→maxに持ってこれる。ただ、コンストレイン情報やIK情報は、今回のデータではできなかった。エクスポータにはコンストレインをONにするオプションもあるのだけど、これをONにするしないにかかわらずダメ。コントローラーのオブジェクトがエクスポートされるだけで関連性は削除されている。(エラーメッセージには「ベイクが必要だよ」みたいな表示が出るけど・・・)


・やっぱり日本語フォルダ名はご法度!エクスポート時にテクスチャパスも書き出されるのだけど、勝手に英語名にパス書き換わってた。事前にBonusToolsとかで直しとく。

BonusToolsダウンロード>http://area.autodesk.com/bonus_tools


・mayaでのウェイト情報は、maxではスキンモディファイヤとして読み込まれる。


・実はデータに軽くフェイシャル(mayaのスキンクラスタ)が付いてたのですが、これはmax側でちゃんとモーファーモディファイヤとして認識されました。ただ、5種類あったはずのターゲットが、エクスポートすると実質2種類に減ってたけど・・・
>(解決!)ターゲットの名前が同一だったせい。フェイシャルターゲットの名前を全部固有にしたら、大丈夫でした。


・シェイプは持って来れない?オブジェクトに置き換えたらいいのかな?
>ジオメトリの設定で、Nullオブジェクトに変換したデータ書きだしたけど、MAX読み込みで失敗(エラーで落ちる)。


・この件に関係ないけど、作業中にグラフネットワークが表示されなくなった?再起動したら直ったけどこれってバグ?

一応、maya初期化の方法>http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1341123518


・先ほど、ガンマ情報を削除したけど、テクスチャをmayaで統合(mayaファイルのエクスポート)してからのほうがいいのかなあ・・・


・単位の設定が重要です。今回のデータだと、mayaからcm出力→maxでcmでインポートだとうまくいかない。実寸の1/10になる。おそらくmayaで実寸で作ってないせい。mayaで出力時にcm(係数10倍)→maxでmmで受け取ると実寸に近くなる。

とにかく実寸にするのが大事!実寸に近くないと、mentarlrayの各種シェーダで問題が出ちゃうので。

以下、ヘルプより抜粋。
基本のシステム単位にインチを使用する 3ds Max とは異なり、MotionBuilder と Maya はどちらもセンチメートルを使用します。この違いに対応するために、3ds Max ユーザは、表示単位をセンチメートルに切り替え、既定値のシステム単位設定(インチ)はそのままにするように勧められることがあります。この設定によって、他のソフトウェア アプリケーションとの間でファイルを交換する場合に問題が発生します。
たとえば、3ds Max オブジェクトを書き出す場合に、表示単位をある測定単位(センチメートルなど)に設定し、システム単位を別の測定単位にすると、FBX エクスポータは表示単位と異なる場合でも 3ds Max のシステム単位のみを評価します。
FBX ファイルを MotionBuilder で保存し、再度 3ds Max に読み込む場合はさらに複雑になります。FBX インポータは、3ds Max のシステム単位を評価しますが、FBX ファイルを MotionBuilder で保存すると、センチメートルに変換されます。FBX インポータは、それに応じて入力される FBX ファイルを 3ds Max のシステム単位に合わせて変換します。これによって、スケーリングするつもりがなくてもオブジェクトはスケールされます。表示単位は常にセンチメートルであるためです。
FBX ファイルを 3ds Max と MotionBuilder の間で交換する場合は、システム単位設定をセンチメートルに変更して一致させます。FBX ファイルを 3ds Max と Maya の間で交換する場合は、Maya の作業単位に合わせて 3ds Max のシステム単位を変更します。


・エクスポートしたボーンが、maxで表示した時に選択プラケットが大きくなっちゃってすごい邪魔。(移動ツールのときだけで表示されないのはなぜ?)
>実際にはダミーの周りに表示されるのは選択プラケットではないっぽい。


・上記現象を嫌って、エクスポート時に「ボーンに変換」すると、一部ボーンが90度回転しちゃうのでこれもダメ。(UP軸が異なるせいか?)


・maxにエクスポートしたボーンに合わせて、新規でBipedを組んだ。

各スキンごとに、不要なエンベロープを削除→エンベロープ(.env)保存しておく。
(もしかしたら、mayaでオブジェクトまとめれば1スキンで済んだかな?)

一旦スキンを削除→再度適用→先ほど保存した.envを読み込み。
読み込み時、各エンベロープに対応するように、Bipedのリストを入れ替えるのがポイント。

ウェイト情報を全くいじらずに、mayaのボーンをmaxのBipedにのせかえ成功!
既に適用されたウェイト設定を、そのまま利用できるので便利!

Bipedの何がいいって、既存のbip、bvhファイルを利用できる!


・キャラはだいたいメドが付いたのだけど、マップがまず大きすぎて、mayaでテクスチャを表示させようとしただけで落ちる・・・メモリのせい?


・一部だけ選択したら表示できた。テクスチャから、キャラと同じようにガンマ情報抜く必要があるけど、マテリアルの量が多くて大変・・・


・マップ全体を選択して書きだすと、maxのFBX読み込み時に落ちる。部分的に選択して書き出し、を繰り返すしかないか。めんどいけど・・・


                                                          • -

今日はここまで。