1.描述
美术做场景的时候,工作量很大,不会去按照程序的思维,把什么都做得很规范。
就会造成有很多空的Animator组件留在物件上,那个物件会被复制使用,就会变得更
多。我们项目我遇到的最多的一次,一个场景有600多个空的Animator组件,好恐怖,
怎么可能对效率没有影响 今天就写个方法一键删除场景中空的Animator组件。
2.代码如下:
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class SceneTool : EditorWindow
{
//直接点击菜单按钮,执行代码
//跟点击菜单弹出面板的方式基本一致,只是在绘制面板的代码换成执行的方法即可
[MenuItem("Owen/DelectAnimator")]
static void tranPoint()
{
int AnimatorCount = 0;
//建立一个List数组
List<GameObject> SceneRoot = new List<GameObject>();
//得到场景所有的根节点,并返回给上面的字典
UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects(SceneRoot);
//遍历字典
for (i