1. 1.给选中物体添加碰撞盒

这个是给子物体添加碰撞盒 (根据需求可以自己修改)  脚本放在Editor文件夹下   需要手动选择你需要添加碰撞盒的物体

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine; public class AddBox
{
[MenuItem("Tools/添加碰撞盒")]
private static void SelectionAnchor()
{
GameObject[] objs = Selection.gameObjects;
for (int i = 0; i < objs.Length; i++)
{
if (!objs[i].transform.GetChild(0).gameObject.GetComponent<BoxCollider>())
{
objs[i].transform.GetChild(0).gameObject.AddComponent<BoxCollider>();
} }
}
}

1.1   只需要选择模型的父物体就好了(tag升级版) 需要设置子物体的tag值  目的是给子物体的某一个子物体添加碰撞盒(孙物体)

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine; public class AddBox
{
[MenuItem("Tools/一键添加碰撞盒")]
private static void SelectionAnchor()
{
if (Selection.activeObject )
{
AddCollider((GameObject)Selection.activeObject);
} }
public static void AddCollider(GameObject obj)
{
if (obj.transform.childCount >0)
{
for (int i = 0; i < obj.transform.childCount; i++)
{
Transform child = obj.transform.GetChild(i);
if (child.CompareTag ("JG"))
{
child.GetChild (0).gameObject.AddComponent<MeshCollider>();
} AddCollider(child.gameObject);
}
}
} }

升级版添加

 1.2  只需要选择模型的父物体就好了(究极版)  无论多少层级都能加上去

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine; public class AddBox
{
[MenuItem("Tools/一键添加所有碰撞盒")]
private static void SelectionAnchor()
{
if (Selection.activeObject)
{
AddCollider((GameObject)Selection.activeObject);
} }
public static void AddCollider(GameObject obj)
{
if (obj.transform.childCount > 0)
{
for (int i = 0; i < obj.transform.childCount; i++)
{
Transform child = obj.transform.GetChild(i);
if (child.GetComponent <MeshRenderer>())
{
child.gameObject.AddComponent<MeshCollider>();
} AddCollider(child.gameObject);
}
}
} }

2.删除所有碰撞盒(选中父物体就好了)直接一键删除所有碰撞盒  脚本放在Editor文件夹下  记得把注释解开,忘记解了

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine; public class Destory_Box :EditorWindow
{
[MenuItem("Tools/工具:一键清理所有Collider碰撞盒")]
public static void ClearColiderByChild()
{
if (Selection.activeObject)
{
ClearMeshColiderByChild((GameObject)Selection.activeObject);
}
}
public static void ClearMeshColiderByChild(GameObject obj)
{
//1.子物体有Mesh
if (obj.transform.childCount > 0)
{
for (int i = 0; i < obj.transform.childCount; i++)
{
GameObject child = obj.transform.GetChild(i).gameObject;
//MeshCollider meshCollider = child.GetComponent<MeshCollider>();
//if (meshCollider != null)
//{
// DestroyImmediate(meshCollider);
//}
BoxCollider boxCollider = child.GetComponent<BoxCollider>();
if (boxCollider != null)
{
//DestroyImmediate(boxCollider);
Debug.Log(boxCollider.name);
}
ClearMeshColiderByChild(child);
}
}
}
}

二 .unity一键删除MissingScript无效脚本

using UnityEditor;
using UnityEngine; public class DestoryMissingScript
{
[MenuItem("Tools/删除选中物体无效脚本Missing")]
private static void DestoryAnchor()
{
if (Selection.activeObject)
{
DestoryMissing((GameObject)Selection.activeObject);
}
}
public static void DestoryMissing(GameObject obj_)
{
if (obj_ .transform.childCount >0)
{
for (int i = 0; i < obj_.transform.childCount; i++)
{
Transform child = obj_.transform.GetChild(i);
GameObjectUtility.RemoveMonoBehavioursWithMissingScript(child.gameObject);
DestoryMissing(child.gameObject);
}
} }
}

有需要会继续补充

搜索

复制

最新文章

  1. 30+有用的CSS代码片段
  2. android 学习资源总结
  3. BZOJ 2049 &amp; LCT又一模板
  4. NOIp 2014 #1 生活大爆炸版石头剪刀布 Label:模拟
  5. 小红伞和virtualbox5.0.10冲突
  6. 类库引用EF
  7. 简单的优化处理 By LINQ TO SQL
  8. uva 10304
  9. POJ2479,2593: 两段maximum-subarray问题
  10. 【转】Android中的内存管理--不错不错,避免使用枚举类型
  11. KindEditor参数具体解释
  12. cmd介面,进adb命令提示符error
  13. LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
  14. Java中关键词之this,super的使用
  15. Team Queue(STL练习题)
  16. 98、vue.js简单入门
  17. elasticsearch的集中常见操作
  18. VS Code常用快捷键大全
  19. (三)微信小程序首页的分类功能和搜索功能的实现笔记
  20. 人脸检测(1)——HOG特征

热门文章

  1. 2023 2 4 c++NOIP机试 小豫豫在郑州 type
  2. Asp.net中web.config配置文件最全面详解 (转载至CSDN)
  3. springboot项目基于mybatis-plus创建逆向工程
  4. dockerfile 打包镜像
  5. spark structured streaming (结构化流) join 操作( 官方文档翻译)
  6. 【转载】synopsys中工具介绍,VCS,DC,PT等
  7. js——带暂停、启动功能的定时
  8. vue pdf下载(非预览)
  9. 【Windows】Windows11 安卓子系统安装方法与使用技巧
  10. matlab画图之plot画折线图