Blenderで作ったモデルに内蔵されたAnimationをUnityで抜き出す
頑張ってBlenderでアニメーションを作った。
以下のURLのやり方でMeshとAnimationを別々に出力できる。
逆にMeshとAnimationがセットになったアセットからUnity側でAnimationだけ抜き出す方法を試してみた。
BlenderのOutlinerの状態
File>Export>FBXでデフォルトのまま出力
Unityにインポート
本来、Projectタブで「root|Walk」を選択したあと「Ctrl + D」を押すことでアニメーションだけファイルとして取り出せる(直下にあるwalkファイルはすでに抜き出したやつ)
ただしそのままだと全く抜き出せず、Consoleタブを見るとエラーが確認できる。
ArgumentException: Illegal characters in path.
ググると以下のサイトが出てくる
https://answers.unity.com/questions/877486/argumentexception-illegal-characters-in-path-when.html
ようするにアニメーションの名前に勝手に「アーマチュア名|アニメーション名」ってつくんだけど、このパイプ「|」が入ってるとダメらしいので上の画像の赤〇がついてるところあたりで名前を「walk」に変更したあと「Ctrl + D」で無事抜き出せた。
補足
- アニメーションファイル単体になることで使いまわししやすくなる(らしい)
- Unityでもある程度アニメーションが作成できるがボーンを考慮した動きが作れない(らしい)のできちんとやるにはモデリングソフト側でやるのがよい(らしい)