下载的动画包可能作者没有好好整理动画,clip名称全是take001,动画类型也要改
解决方法分两步:
1:unity动画的 命名规则是@+name
例如:sword@attack1-1 以这样名称导入的动画unity会自动将clip命名为attack1-1
直接贴代码:
public string filePath;
[Header("要改变的字符")]
public string oriSymbol;
[Header("新字符,长度和原来的要一致")]
public string newSymbol;
public void ReplaceFileSymbol()
{
if (Directory.Exists(filePath))
{
DirectoryInfo direction = new DirectoryInfo(filePath);
FileInfo[] files = direction.GetFiles("*", SearchOption.AllDirectories);
Debug.Log(files.Length);
for (int i = 0; i < files.Length; i++)
{
if (files[i].Name.EndsWith(".meta"))
{
continue;
}
Debug.Log("Name:" + files[i].Name);
AssetDatabase.RenameAsset(filePath +"/"+ files[i].Name, files[i].Name.Replace(oriSymbol, newSymbol));
}
}
}
代码写的比较粗糙,场景随便找个物体挂载上 然后调用这个方法就行了
2.使用AnimationConverte(unity商店资源)批量修改动画类型,支持3种类型互相转换,也可以将Generic或者Legacy动画导出到新的模型上(通常情况只有humanoid动画可以换模型共用)
经过这两步就基本上批量完成了修改动画名称和动画类型的工作,告别了一个个手点的痛苦