1, アーマチュアと全てのボーンの名前はしっかり決めること
理由:Unityにインポートした後に困るから
2, アニメーションを作る時は,IKやFKを操作して作る
Blender上でIKだけのキーフレームを打ってアニメーションを作成しても,それに連動したボーンの情報はUnity上でも保持される
3, Unity上の設定(Rig)
Optimize Bonesはした方がいいらしい.後で調べる
4, Root NodeはavaterをAnimatorにセットすることで認識される
5, モデルとアニメーションの分離
- モデルだけのfbx,アニメーションだけのfbxを用意
- モデルのfbxからavater作成
- アニメーションのfbxに,2で作ったavater適応してアニメーションを取り出す
6, エクスポート設定
- IKやFK等の不要なボーンはDeformのチェックをはずして,エクスポート時にOnly Deformのチェックを入れる
これで不要なボーンがエクスポートされない
Unityにインポートした時スケール1にする
この回転を0にする方法
- モデルが完成したらメッシュとアーマチュア両方選択
- X軸に-90度回転
- ctrl-aでApply All
- X軸に90度回転して元に戻す
- エクスポート
修正が必要になった場合はctrl-aでApply Allすれば1の状態になる
追記(2024/3/16)
面倒なのでスクリプト書いた
gist.github.com
fbxの場合は処理が必要だが,gltfの場合は何もしなくてもUnityでそのまま使える
Export Scene Operators — Blender Python API
Unityにインポートしたfbxモデルの軸変換を適応しておくこと