AnimationClipTool.cs 998 B

12345678910111213141516171819202122232425262728293031
  1. using UnityEngine;
  2. using UnityEditor;
  3. using System.IO;
  4. public class AnimationClipTool
  5. {
  6. [MenuItem("Tools/ClipAnimToResFolder &1", true)]
  7. static bool NotGetFiltered()
  8. {
  9. return Selection.activeObject;
  10. }
  11. [MenuItem("Tools/ClipAnimToResFolder &1")]
  12. static void GetFiltered()
  13. {
  14. string targetPath = Application.dataPath + "/Res/Animation";
  15. if (!Directory.Exists(targetPath))
  16. {
  17. Directory.CreateDirectory(targetPath);
  18. }
  19. Object[] SelectionAsset = Selection.GetFiltered(typeof(Object), SelectionMode.Unfiltered);
  20. foreach (Object Asset in SelectionAsset)
  21. {
  22. AnimationClip newClip = new AnimationClip();
  23. EditorUtility.CopySerialized(Asset, newClip);
  24. AssetDatabase.CreateAsset(newClip, "Assets/Res/Animation/" + Asset.name + ".anim");
  25. Debug.Log($"Clip anim to : Assets/Res/Animation/{Asset.name}.anim");
  26. }
  27. AssetDatabase.Refresh();
  28. }
  29. }