• 사용 이유
    • 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
블로그 이미지

RIsN

,