unity3d - 在 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.
这些只是不断重复。
解决方案
当我发现这种情况下的具体问题时,回答我自己的问题。但是我仍然没有一个通用的解决方案。
就我而言,我的编辑器脚本触发了重新烘焙的光照,因为我打开了自动生成。我的场景中一定有错误,并且由于某种原因导致了无休止的错误循环。我的临时解决方案是进入照明设置并关闭自动生成并取消烘焙。
推荐阅读
- c# - BST C# 查找所有正确子节点的总和(对于
通用的) - linux - 扩展 SDA5(Linux VMWare 实例)
- c# - Unity - Gizmos 没有从继承的类中正确绘制
- java - 从 Allure 报告中隐藏班级名称
- amazon-web-services - Hadoop 3.0+ 在 ECS 上被 OOMKilled
- javascript - 使用JavaScript修改html内容
- laravel - Laravel:如何从自定义 UserProvider 返回更多数据?
- python-3.x - 如何使用 Winappdriver+Python 处理 powershell
- unity3d - 如何用代码在 Unity 中改变场景
- excel - 乘法助手被乘数序列错误VBA