- 사용 이유
- Scene에 Asset으로 불러온 아주 많은 3D Object가 있는데, 그것들이 전부 메시 컬라이더를 갖고 있었기 때문에, 그걸 한꺼번에 제거하고 싶었음
- 응용해서 Box Collider 등 다른 것도 전부 제거
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
public class RemoveMeshCollidersEditor : MonoBehaviour
{
[MenuItem("Tools/Remove All Mesh Colliders")]
public static void RemoveAllMeshColliders()
{
// Scene에 있는 모든 MeshCollider 컴포넌트를 찾습니다.
MeshCollider[] meshColliders = FindObjectsOfType<MeshCollider>();
// 각 MeshCollider를 순회하면서 제거합니다.
foreach (MeshCollider collider in meshColliders)
{
DestroyImmediate(collider);
}
// 변동 사항을 저장합니다.
UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager.GetActiveScene());
}
}
#endif