步骤 1:创建 Editor 脚本
在你的项目中,创建一个文件夹 Editor(必须叫这个名字,Unity 会自动识别为编辑器脚本目录),然后在里面新建一个 C# 脚本,例如 RemoveLODGroups.cs。
步骤 2:粘贴以下代码
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
public class RemoveLODGroups
{
[MenuItem("Tools/Remove All LODGroups in Scene")]
static void RemoveAllLODGroupsInScene()
{
// 获取场景中所有带有 LODGroup 组件的 GameObject
LODGroup[] lodGroups = Object.FindObjectsByType<LODGroup>(FindObjectsSortMode.None);
if (lodGroups.Length == 0)
{
Debug.Log("场景中没有找到 LODGroup 组件。");
return;
}
List<Object> objectsToDestroy = new List<Object>();
foreach (LODGroup lod in lodGroups)
{
if (lod != null)
{
objectsToDestroy.Add(lod);
}
}
// 使用 Undo.RecordObjects 支持撤销操作(可选)
Undo.RecordObjects(objectsToDestroy.ToArray(), "Remove LODGroups");
// 销毁所有 LODGroup 组件
foreach (Object obj in objectsToDestroy)
{
Object.DestroyImmediate(obj, true); // true 表示允许销毁 Asset(但 LODGroup 是组件,不是 asset)
}
Debug.Log($"已成功移除 {objectsToDestroy.Count} 个 LODGroup 组件。");
}
}
步骤 3:运行脚本
- 保存脚本。
- 在 Unity 编辑器顶部菜单栏,点击 Tools → Remove All LODGroups in Scene。
- 所有当前激活场景中的 LODGroup 组件会被立即删除。
- 操作支持 Ctrl+Z 撤销(因为用了 Undo.RecordObjects)。

Comments NOTHING