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

为何BoxCollider 2D碰撞失效?Canvas图片碰撞穿透问题咨询

解决Unity 2D物体碰撞穿透问题的排查步骤

兄弟,我太懂这种设置好碰撞却还是穿透的糟心感了!咱们一步步捋,大概率是这几个常见坑没踩对:

  • 检查碰撞体的基础设置
    先确认两个物体的BoxCollider 2D都处于启用状态(组件前面的勾选框要打勾)。另外,一定要点击Collider组件里的Edit Collider按钮,拖动碰撞框的节点,让它完全贴合你的图片——很多时候图片缩放了,但碰撞体还是默认大小,等于碰撞区域根本没覆盖到画面,自然穿过去。
    还有个致命坑:别勾Is Trigger!如果第一个物体的Collider开了触发模式,那它就只会发送触发事件,不会产生物理阻挡,直接放行第二个物体。

  • 检查Rigidbody 2D的配置
    第二个物体的Rigidbody 2D得是**Dynamic(动态刚体)**类型,这样才会受重力影响下落,同时和静态碰撞体(第一个没有Rigidbody的物体默认是静态)产生碰撞。另外确认Gravity Scale不是0,要是设成0了,物体根本不会下落,更别说碰撞了。

  • 核对Layer碰撞矩阵
    打开Edit > Project Settings > Physics 2D,找到Layer Collision Matrix板块。看看两个物体所在的Layer对应的交叉格子是不是勾选状态——要是没勾,Unity就会让这两个Layer的物体互相穿透,完全不检测碰撞。

  • 高速运动导致的穿透(小概率但可能)
    如果你的物体尺寸很小,或者重力设置得很大,下落速度快到Unity的帧检测跟不上,就会出现“穿模”。这种情况可以给第二个物体的Rigidbody2D把Collision Detection改成Continuous或者Continuous Dynamic,让Unity更频繁地检测碰撞,避免漏判。

先从前面几个基础项查起,大概率就能解决问题啦!

内容的提问来源于stack exchange,提问作者Арсений Кривецкий

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:30:14