You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本为Unity游戏对象及其子对象批量添加Mesh Collider?

解决方案:Unity编辑器批量添加Mesh Collider(排除带Mesh Filter的对象)

直接用以下编辑器脚本即可实现需求,脚本需放在项目的Editor目录下(无此目录则新建):

using UnityEditor;
using UnityEngine;

public class MeshColliderBatchTool
{
    [MenuItem("GameObject/批量添加Mesh Collider(排除Mesh Filter)", false, 10)]
    public static void BatchAddMeshColliders()
    {
        GameObject[] selectedObjects = Selection.gameObjects;
        
        if (selectedObjects.Length == 0)
        {
            Debug.LogWarning("请先选中至少一个GameObject");
            return;
        }

        int addedCount = 0;
        int skippedCount = 0;

        foreach (GameObject obj in selectedObjects)
        {
            ProcessGameObject(obj, ref addedCount, ref skippedCount);
        }

        Debug.Log($"批量处理完成:成功添加{addedCount}个Mesh Collider,跳过{skippedCount}个带Mesh Filter或已有Collider的对象");
    }

    private static void ProcessGameObject(GameObject targetObj, ref int addedCount, ref int skippedCount)
    {
        // 排除带Mesh Filter的对象
        if (targetObj.TryGetComponent(out MeshFilter _))
        {
            skippedCount++;
            return;
        }

        // 避免重复添加Mesh Collider
        if (!targetObj.TryGetComponent(out MeshCollider _))
        {
            targetObj.AddComponent<MeshCollider>();
            addedCount++;
        }
        else
        {
            skippedCount++;
        }

        // 递归处理所有子对象
        foreach (Transform child in targetObj.transform)
        {
            ProcessGameObject(child.gameObject, ref addedCount, ref skippedCount);
        }
    }
}

使用说明

  1. 保存脚本后,Unity编辑器顶部菜单会新增GameObject > 批量添加Mesh Collider(排除Mesh Filter)选项。
  2. 在Hierarchy面板选中目标GameObject(支持多选),点击该菜单选项即可自动处理。
  3. 处理结果会在Console窗口输出统计信息,包括成功添加数和跳过数。

关键逻辑说明

  • 选中对象获取:通过Selection.gameObjects获取编辑器中选中的所有对象,支持批量处理。
  • 递归遍历子对象:通过ProcessGameObject递归遍历每个对象的所有子节点,无需手动处理层级。
  • 过滤规则:
    • 直接跳过带有MeshFilter组件的对象。
    • 跳过已存在MeshCollider的对象,避免重复添加。
  • 编辑器集成:通过[MenuItem]将功能集成到Unity菜单,操作更便捷。

内容的提问来源于stack exchange,提问作者Arthur Belkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:55:11