UnityFBXモデルのアニメーション抽出

      キャラクターはヒューマノイドであるため、そのアニメーションは他のモデルで使用できます。つまり、一連のモデルアニメーションを共有できますが、アニメーションがfbxモデルに関連付けられていることがわかりましたか?選択できるかどうかは関係ありません。これらのアニメーションファイルを押してContrl + Dを押して抽出すると、fbxモデル全体を削除できます。新しく生成されたアニメーションはfbxに基づいていないため、リソースサイズを大幅に削減できます。

using UnityEngine;
using UnityEditor;
using System.Collections;
using System.IO;
 
public class AnimationClipTool
{
    [MenuItem("AnimationClip/GetFilteredtoAnim &1", true)]
    static bool NotGetFiltered()
    {
        return Selection.activeObject;
    }
 
    [MenuItem("AnimationClip/GetFilteredtoAnim &1")]
    static void GetFiltered()
    {
        string targetPath = Application.dataPath + "/AnimationClip";
        if (!Directory.Exists(targetPath))
        {
            Directory.CreateDirectory(targetPath);
        }
        Object[] SelectionAsset = Selection.GetFiltered(typeof(Object), SelectionMode.Unfiltered);
        Debug.Log(SelectionAsset.Length);
        foreach (Object Asset in SelectionAsset)
        {
            AnimationClip newClip = new AnimationClip();
            EditorUtility.CopySerialized(Asset, newClip);
            AssetDatabase.CreateAsset(newClip, "Assets/AnimationClip/" + Asset.name + ".anim");
        }
        AssetDatabase.Refresh();
    }
}

  アニメーションクリップを選択し、メニューバーのAnimationClip / GetFilteredtoAnimオプション(ショートカットキーALT + 1)をクリックすると、コードによって生成されたアニメーションクリップがAssets / AnimationClipフォルダーに表示されます。

      (アニメーションクリップの代わりに他のリソースファイルを選択すると、ソースと宛先のタイプが一致しませんというエラーが表示されます)

おすすめ

転載: blog.csdn.net/sun124608666/article/details/112239183