2020/11/09
今回はUnityにBlenderのモデルをインポートする際のちょっとしたお話です。
最近のUnityとBlenderでモデルをインポートすると、アニメーション名は「Armature名+アニメーション名」になります。
私の作るモデルは基本的に1モデル=1Armatureにしているので、接頭辞のArmature名が正直言って邪魔です。
なのでインポート時にその部分を消したアニメーション名となるようにしてみました。
using System.Linq;
using UnityEditor;
using UnityEngine;
public class AnimationPostProcessor : AssetPostprocessor
{
private ModelImporter importer;
private void OnPreprocessModel()
{
importer = assetImporter as ModelImporter;
}
private void OnPostprocessModel(GameObject gameObject)
{
var animationList = importer.defaultClipAnimations.ToList();
foreach (var animation in animationList) {
animation.name = animation.name.Replace("Armature|", "");
}
importer.clipAnimations = animationList.ToArray();
}
}
このスクリプトをEditorフォルダに入れた状態でモデルをインポートすればOKです。
すごく些細なことですが地味に面倒なので、エディタ拡張で変えられる部分でよかったです。







