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です。
すごく些細なことですが地味に面倒なので、エディタ拡張で変えられる部分でよかったです。



					
					
					
					
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
						
                        
                        



