diff options
author | chai <chaifix@163.com> | 2021-07-30 17:04:19 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-07-30 17:04:19 +0800 |
commit | f5a6620ca6ea46174884987609b92bbd8522fa89 (patch) | |
tree | b4fb1ec0b143ad331bb29e7440435688e76ec0d3 /Assets/Scripts/Unit/RootMotion | |
parent | ab482ab3df64d97c3df9921f6d645d914368bf08 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Unit/RootMotion')
-rw-r--r-- | Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs b/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs index 734e0ce0..61c60306 100644 --- a/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs +++ b/Assets/Scripts/Unit/RootMotion/Editor/RootMotionEditor.cs @@ -7,9 +7,16 @@ using UnityEditor; public class RootMotionEditor : EditorWindow
{
- static string s_AnimFolder = "Assets/Art/Animations/";
+ static string unitFolder;
+ static string unitAnimationDataFolder { get { return unitFolder + "AnimationData/"; } }
+ static string unitRootMotionFolder { get { return unitFolder + "RootMotion/"; } }
+ static string unitAnimationClipFolder { get { return unitFolder + "AnimationClip/"; } }
+ static string unitDataFolder { get { return unitFolder + "UnitData/"; } }
+
+
+// static string s_AnimFolder = "Assets/Art/Animations/";
static string s_Controller = "Assets/Scripts/Unit/RootMotion/controller_rootmotion.controller";
- static string s_RootMotionDataFolder = "Assets/Data/RootMotionData/";
+ // static string s_RootMotionDataFolder = "Assets/Data/RootMotionData/";
GameObject m_Prefab;
string m_PrefabName { get { return m_Prefab.name; } }
@@ -71,6 +78,11 @@ public class RootMotionEditor : EditorWindow m_Prefab = prefab;
if(m_Prefab != null)
{
+ string path = AssetDatabase.GetAssetPath(prefab);
+ string folder = Path.GetDirectoryName(path).Replace('\\', '/');
+ folder = folder.Substring(0, folder.LastIndexOf('/'));
+ unitFolder = folder + "/";
+
m_Unit = PrefabUtility.InstantiatePrefab(m_Prefab) as GameObject;
InitializeUnit(m_Unit);
m_SelectAnimations.Clear();
@@ -102,7 +114,7 @@ public class RootMotionEditor : EditorWindow void CollectAnimations(string prefabName)
{
m_AnimList.Clear();
- string animFolder = s_AnimFolder + m_Prefab.name + "/";
+ string animFolder = unitAnimationClipFolder;
string[] animfiles = Directory.GetFiles(animFolder/*, "*.anim"*/);
if (animfiles != null && animfiles.Length > 0)
{
@@ -194,13 +206,13 @@ public class RootMotionEditor : EditorWindow ExportRootMotion(animation);
}
- EditorUtility.DisplayDialog("Export RootMotion", "目录 " + s_RootMotionDataFolder + m_Prefab.name, "OK");
+ EditorUtility.DisplayDialog("Export RootMotion", "目录 " + unitRootMotionFolder + m_Prefab.name, "OK");
}
void ExportRootMotion(string animation)
{
- string animPath = s_AnimFolder + m_PrefabName + "/" + animation + ".anim";
- string assetPath = s_RootMotionDataFolder + m_PrefabName + "/" + animation + ".asset";
+ string animPath = unitAnimationClipFolder + animation + ".anim";
+ string assetPath = unitRootMotionFolder + animation + ".asset";
AnimationClip clip = AssetDatabase.LoadAssetAtPath<AnimationClip>(animPath);
if(clip == null)
{
|