上图例为一艘货运船上装载了若干个危险品模型,它们有一个空父级,给该父级物体添加BoxCollider碰撞盒时其Size默认大小为1, 如何给父物体添加BoxCollider碰撞盒时使其Size大小自适配包含所有子物体模型,而不是手动去调整该BoxCollider大小?

包围盒Bounds类为我们提供了解决办法,下面编写小工具:

using UnityEngine;
using UnityEditor;public class BoundsTool
{[MenuItem("SKFramework/Bounds/Auto BoxCollider")]private static void AutoBoxCollider(){//如果未选中任何物体 返回GameObject gameObject = Selection.activeGameObject;if (gameObject == null) return;//计算中心点Vector3 center = Vector3.zero;var renders = gameObject.GetComponentsInChildren<Renderer>();for (int i = 0; i < renders.Length; i++){center += renders[i].bounds.center;}center /= renders.Length;//创建边界盒Bounds bounds = new Bounds(center, Vector3.zero);foreach (var render in renders){ bounds.Encapsulate(render.bounds);}//先判断当前是否有碰撞器 进行销毁var currentCollider = gameObject.GetComponent<Collider>();if (currentCollider != null) Object.DestroyImmediate(currentCollider); //添加BoxCollider 设置中心点及大小var boxCollider = gameObject.AddComponent<BoxCollider>();boxCollider.center = bounds.center - gameObject.transform.position;boxCollider.size = bounds.size;}
}

加入上述工具后,在场景中进行测试,可见添加的BoxCollider已经自动适配大小,包含所有子物体:

Unity 如何让BoxCollider自适配大小相关推荐

  1. Unity中的UGUI屏幕适配

    本文分享Unity中的UGUI屏幕适配 屏幕适配一直是一个老生常谈的问题, 虽然只是项目一开始的时候会用到, 但是还是有很多东西需要学习和了解, 今天给大家分享下一些个人的学习和总结. 各种坐标 屏幕 ...

  2. VUE适配大小屏幕,超大屏幕方案

    最近后台改版,要求login页适配大小屏幕,超大屏幕(浅浅的记录下): 实现方案:Vue +lib-flexible实现大小屏幕,超大屏幕的适配展示.lib-flexible是淘宝项目组开发的插件,属 ...

  3. 图标适配大小_主题真的是大吃一鲸适配全EMUI

    主题名称 :大吃一鲸主题大小:30.39MB主题格式:hwt主题发布时间:2020年10月05日测试机型:华为P40适用机型:EMUI9.X~10.0~10.1-11系统(9.* 系统可能存在BUG ...

  4. 在 unity中可以使用的直接设置音量大小的方法

    参考网址 在unity中很多的音量控制dll都没有办法使用,调用"user.dll"话只是模拟电脑的快捷键,而且不能够直接设置对应的数值. 需要使用C++创建Dll 生成C++ d ...

  5. Unity如何改变和调整粒子系统大小和程序入门,非美术向

    在不考虑优化和性能,只考虑显示的情况 如何改变大小 一句话解决,因为大部分粒子(如需要缩放和控制大小,程序上) 总之Scaling Mode 改成local Hieracy这个选项 == 自我作缚 S ...

  6. Unity多屏,自定义屏幕大小

    @https://blog.csdn.net/m0_37381690/article/details/90047390 Unity 分屏,多屏,自定义屏幕大小 先看效果吧 新的改变 分屏,在Unity ...

  7. Unity图片处理 批量改画布大小

    不知道有没有人遇到过这种情况. 资源大小并非2的整数幂,导致Unity无法压缩. 而且资源量很大,无法放在PS里去一张一张的去修改画布. 问题分析 最开始,我是放在PS里修改画布来让图片修改为2的整数 ...

  8. 【Unity】UGUI无法修改字体大小

    无论怎么修改Font Size都无法调整字体大小? 如果勾选了Best FIt属性,那么字体大小将不受Font Size属性控制,且字体大小会调整为填满控件的矩形. 文档中对该属性的描述:

  9. Unity开发手游常用适配分辨率

    前言 工作开发中常用的需要适配的手机适配,这里做一下记录. 分辨率 1.新增分辨率 AspectRatio是长宽比,FixedResolution是设置固定分辨率. 2.适配长宽比 平时开发用9:16 ...

最新文章

  1. KDD Cup 2021城市大脑赛题解析!报名倒计时3天
  2. 优先队列的数组实现(有序)
  3. 病毒行为分析初探(三)
  4. 【POJ - 3273 】Monthly Expense (二分,最小最大值)
  5. 深度学习《CNN架构续篇 - 梯度下降的优化》
  6. android动态加载.so,实现动态库升级
  7. 校招行测笔试--资料分析
  8. python机器人编程教材_python人工智能机器人工具书籍: Learn Robotics Programming(python and Raspberry Pi 3) - 2018...
  9. 【技术分享】孙玄:MongoDB在58同城的应用实践
  10. python能做什么有趣的东西-Python 里itchat 模块能实现什么有趣的东西?
  11. Mysql 地区经纬度 查询
  12. 【从本人QQ空间迁移】业务知识通俗理解
  13. Windows10版本即将终止服务请立即重启
  14. 接口文档——Swagger
  15. 经典排序算法-----归并排序(C语言实现)
  16. android汽车手机互联!阿里P8面试官都说太详细了,赶紧收藏备战金三银四!
  17. 9343拆机 xps13_戴尔(DELL)XPS 13 XPS13D-9343-1808T超极本拆解图评测-ZOL中关村在线
  18. Linux netstat命令结果分析
  19. InfoQ专访“白帽黑客”吴石:两次破解特斯拉的腾讯安全科恩实验室这次为什么瞄准物联网?
  20. 通过运营技能地图使用Python整理用户指标及订单跟踪

热门文章

  1. 使用u盘时要与计算机usb接口相连,u盘是通过什么接口与电脑交换数据的?
  2. Mysql 分隔符拆分字段
  3. 项目中常用的管理工具 confluence,wiki,jira
  4. 金蝶 EAS BOS F7监听器
  5. 微信开放平台(消息加解密接入指引)
  6. 表单 <input> 元素必须有标签
  7. vb6反编译详解_[原创]VB6反编译详解(一)
  8. python数据驱动+读取yaml文件+读取excel文件+mySQL
  9. 工作交接checklist
  10. bt云服务器地址,windows服务器使用BT搭建环境