首页 > 解决方案 > 在 Unity3D 中,如何阻止编辑器执行卡在错误循环中的编辑器扩展脚本?

问题描述

在 Unity3D 中,我创建了下面的编辑器扩展,它工作但陷入了无休止的错误循环。如何阻止编辑器执行它?我试过 Ctrl-c 和 Ctrl-z 但没有运气。我不想重新启动编辑器,但如果这是唯一的方法,我可以这样做。

using UnityEngine;
using UnityEditor;


public class ConfigureLevelPart : Editor
{
    [MenuItem("GameObject/AddCollidersToChildren", false, 0)]
    static void testFunction1()
    {
        foreach (Transform child in Selection.activeGameObject.transform)
        {
            if (child.GetComponent<MeshRenderer>())
            {
                child.gameObject.AddComponent<MeshCollider>();
                child.gameObject.isStatic = true;
                child.gameObject.tag = "World";
                child.gameObject.layer = 12; //layer 12 is world
            }
        }
    }
}

错误是:

[PathTracer] AddGeometry job with hash: 151d6786c86f1a0497062c3ce74bf71b failed with exit code 1.

[PathTracer] Failed to add geometry; mesh is missing required attribute. Please make sure mesh contains positions, normals and texcoord0.

这些只是不断重复。

标签: unity3dunity-editor

解决方案


当我发现这种情况下的具体问题时,回答我自己的问题。但是我仍然没有一个通用的解决方案。

就我而言,我的编辑器脚本触发了重新烘焙的光照,因为我打开了自动生成。我的场景中一定有错误,并且由于某种原因导致了无休止的错误循环。我的临时解决方案是进入照明设置并关闭自动生成并取消烘焙。


推荐阅读