ゴマちゃんフロンティア

アザラシが大好きなエンジニアの開発日記です

【Unity】fbxファイルインポート時のアニメーション名を変えたお話

time 2021/03/27

今回は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です。

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

down

コメントする