今回はBlenderのモデル・ボーンをMayaに移植したので、やりかたを書いていきます。
データをfbxに書き出して持っていきます。

Blender側は名前以外の変更なし、
Maya側で移植時の破綻を直していく方法でやります。
Blenderの元データをなるべく変えずに残したい場合にどうぞ。
【Blender】オブジェクト名をMayaに合わせる
モデルやボーンの名前に「spine.001」みたいにドットが入ってると
maya側で変な名前に改変されるので、「spine_001」とかドットを使わない名前を変えておきます。
手作業で名前変えるのはダルいので一括で全部変えます。
編集モード > ボーンを全部選択 > 編集 > 名前を一括変更 をクリック。

一括変更の設定がでます。
リネーム対象を「ボーン」にして、「.001」が「_001」になるよう置き換えます。

こんな感じでリネームされてればOK。

モデルも名前に「.」が入ってたら、同じ手順でリネームします。
モデルを選択して、リネーム対象は「オブジェクト」

次はこのデータをfbxファイルで書き出します。
【Blender】データをfbxで書き出す
モデルとボーンをすべて選択 > ファイル > エクスポート > FBX をクリック。
下記の設定でfbxファイルに書き出します。

▽内容
選択したオブジェクトに☑
オブジェクトタイプ:アーマチュアとメッシュ
▽トランスフォーム
前方:-Zが前方
上:Yが上
▽アーマチュア
プライマリーボーン軸:X軸(X軸にボーンの子が生える)
セカンダリボーン軸:Y軸(Y軸がボーンの横方向)
リーフボーン追加:✓外す(基本的に要らない)
▽アニメーションをベイク
チェック外す
これでBlender側の作業は終わり。
次は書き出したfbxファイルをmayaで読み込みます。
【maya】fbxを読み込む
Mayaを開いて、 File > Import をクリック。

さっき書き出したfbxファイルを読み込みます。

ジョイント太っっっと!!!
スケール100が勝手に入ったからですね。
他にもrootに余計な回転入っちゃってます。
Blender尺に合わせた都合でいろいろおかしい所があるので直します。
【Maya】読み込んだデータを直す
- スケール100を1にリセットする
- rootの回転をリセットする
を直していきます。
スキンが入ったままだとうまく直せないので、いったんスキンを外してから作業します。
まずはウェイト情報を書き出して避難させます。
モデルを選択 > リギングメニュー > デフォーム > ウェイトを書き出し

xmlで書き出します。
日本語のフォルダーに書き出すと失敗することがあるので、英語のフォルダーに書き出したほうがいいです。

そしたらスキンを外します。
モデル選択 > リギングメニュー > スキン > スキンのバインド解除

モデルとジョイントのスケールをリセット
スケール100入ってるノードを選択します。今回はメッシュとexportロケーターを選択して、
修正 > トランスフォームのフリーズ のオプション

スケールに☑入れて適用

スケールが1にリセットされます。
太すぎた骨が細くなったのが確認できます。(ジョイントのX線表示にすると見やすい)

正しいスケールになりましたが、今度はジョイントが細すぎるので見やすい太さにします。
ジョイントの太さ(半径)を調整する
1個ずつ調整するのはダルいので、スクリプトでまとめてやります。
mayaの右下にあるスクリプトエディタを開きます。

下記のMELを書いて実行します。
赤の数字が太さ(半径)になります。イイ感じの太さになる数字に変えてください。
全ジョイントの太さを変える【MEL】
string $joints[] = `ls -type joint`;
for ($j in $joints) {
setAttr ($j + ".radius") 1.0;
}
選択中のジョイントの太さを変える【MEL】
string $joints[] = `ls -sl -type joint`;
for ($j in $joints) {
setAttr ($j + ".radius") 1.0;
}

MELじゃなくてPythonがいい人はこちらのコード
全ジョイントの太さを変える【Python】
import maya.cmds as cmds
for j in cmds.ls(type="joint"):
cmds.setAttr(j + ".radius", 1.0)
選択中のジョイントの太さを変える【Python】
import maya.cmds as cmds
for j in cmds.ls(selection=True, type="joint"):
cmds.setAttr(j + ".radius", 1.0)

rootの回転を0にリセットする

いったんrootの親子階層を切って、体から切り離します。
rootの子ジョイント(ここではspine)を選択 > Shift+P

親子関係が解除されてこんな風になります

rootと親ロケーターを複数選択 > 修正 > トランスフォームのフリーズオプション

回転に✓入れて適用。

回転値が0にリセットされたのを確認したら、親子階層を戻します。
spine→root の順番で複数選択 > Pキー


そしたら外したスキンとウェイトを戻します。
スキンとウェイトを戻す
すべてのモデルとrootを複数選択 > リギングメニュー > スキン > スキンのバインド

最初に書き出したウェイト情報も読み込みます。
モデルを選択 > リギングメニュー > デフォーム > ウェイトを読み込み

さっき書き出したxmlを読み込みます

ジョイントを動かしてみて正しくメッシュが変形できてれば移植完了!
お疲れ様でした。
