FBX Plug-in の名前変更の規則

Maya FBX Plug-in が同じ名前のオブジェクトや要素を発見すると、命名上の衝突が発生します。Maya FBX Plug-in では、読み込み時や書き出し時に要素の名前を変更してこの衝突を補正しています。大文字や小文字の衝突の場合も同じです。

この現象が発生する場面

3ds Max から「Box01」という名前のオブジェクトが 2 つあるFBX シーンを書き出した場合などに発生します。Maya での結果は、最初のオブジェクトは「Box01」、元は同じ「Box01」であった 2 番目のオブジェクトの名前は「Box01_ncl1_1」になります。Maya は同じ名前のオブジェクトをサポートしていないので、このような現象が発生します。

これらの衝突の処理方法は次のとおりです。

重複した名前

Maya FBX Plug-in でシーンに同一の名前のインスタンスが複数見つかった場合、記号コードが使用されます。Maya FBX plug-in は、古いファイルを読み取ることはできますが、読み取ったファイルをもう一度古い形式で書き出すことはできません。

この場合、新しい接尾辞は _ncl1_x (x はインスタンス番号)になります。

名前の重複

3ds Max からゲーム エンジンに複数の FBX キャラクタを読み込むと、重複が発生して、ルート ジョイントが結合されることがあります。これは、Maya とは異なり、オブジェクトを切り離すことを指定するためのネームスペースが不要なソフトウェア パッケージがあるためです。したがって、ゲームエンジンに書き出す場合は、すべてのネームスペースを除去する必要があります。

3ds Max では重複名がサポートされているため、書き出しは 3ds Max の選択項目を書き出し(Export Selected)オプションを使用して自動的に行われます。ただし、Maya および MotionBuilder では重複名があると問題が生じるため、同じリグ名を使用する 2 つのキャラクタがある場合は、それぞれのリグに異なるネームスペースを使用する必要があります。

Maya または MotionBuilder から 2 つのキャラクタを書き出す場合

  1. 最初に書き出すアニメートされたリグの階層からネームスペースを除去します。
  2. 最初のキャラクタのネームスペースをリセットして、2 番目のキャラクタからネームスペースを除去します。
  3. 書き出します。

同じ名前のオブジェクト(キャラクタ リグなど)を含む 2 つのキャラクタを読み込む場合

  1. 読み込みオプション(Import options)ネームスペースの使用(Use Namespaces)および選択したネームスペースをペアレントとして使用し、次の新しいネームスペース文字列を追加:(Use selected namespace as parent and add new namespace string)をオンにします。
  2. FBX の読み込み(FBX Import)オプションのファイル内容の読み込み(Include File Content)領域で、追加および更新(Add and Update)ではなく、追加(Add)を使用します。
  3. 読み込みます。

大文字/小文字の衝突

Maya FBX plug-in でシーンのオブジェクトや要素の名前で大文字と小文字がかち合っていることが検出されると、より複雑な接尾辞が使用されます。これにより、どの文字が大文字または小文字だったかを追跡して、読み込みやマージ時に元の名前に戻すことが可能になります。

これを示すために、次の接尾辞が使用されます。

説明 接尾辞
大文字/小文字の衝突を示す _ncl2
オリジナルは大文字で、小文字に変更された文字を表現 _ulXXXX
オリジナルは小文字で、大文字に変更された文字を表現 _luxxxx(xxxx は、文字列内の文字の位置をビット単位で表す4桁の整数表現)たとえば、_ul5 は、文字列内の 1 番目と 3 番目の文字が大文字から小文字に変更されたことを示します。従属接尾辞の _ul と _lu を組み合わせたものが接尾辞として使用されることもあります。)