碰撞盒使用-MeshCollider

本文详细介绍了Unity3D中Mesh Collider的碰撞测试,当设置Convex为true和false时的不同表现。Convex=true时,碰撞盒会封闭模型,阻止碰撞体通过中空部分;反之,Convex=false则允许通过中空区域。文章还探讨了网格碰撞器的限制,如两个网格碰撞器无法互相碰撞,以及解决此类问题的方法,包括添加原型碰撞器和使用ProBuilder。同时,提供了FBX模型资源供读者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建模测试

Mesh的碰撞盒是全包的碰撞盒

  • 整个的游泳圈模型
  • 半个的游泳圈模型

如果勾线convex选项,则:

都直接把顶点封死,就像打包装箱。
++++++++++++++++++++++++++++++++++
测试结果:
中间部分直接封闭,阻挡碰撞体通过!


碰撞测试 - convex=true

  • 直接卡碰撞边缘
    在这里插入图片描述

  • 直接挡在外面
    在这里插入图片描述

如果不勾选convex选项,则:

按照模型原型产生碰撞
可以正常通过中空区域
不添加MeshCollider 是没有碰撞效果的!


碰撞测试 - convex=false

在这里插入图片描述


碰撞限制 - 重点

使用网格碰撞器有一些限制条件:

  • 两个网格碰撞器之间不会发生碰撞。
  • 网格碰撞器可以和任何原型碰撞器碰撞。
  • 网格标记为凸起(Convex),可以和其他网格碰撞器碰撞。

如果想和同类的碰撞器产生碰撞需要其中一方勾选convex,
如果是系统的原型碰撞器【BoxCollider、SphereCollider】这些原型碰撞器,并不关心网格碰撞器的convex状态,可以直接产生碰撞。

地面对象 - Plane:默认也使用网格碰撞器【convex=false】,所以cube掉落不会穿过plane,如果是导入的模型【非原型碰撞器】,不勾选convex肯定会掉下去,不会产生碰撞。

碰撞解决方案

1 加原型碰撞盒子、胶囊体、圆柱体碰撞器等原型碰撞器 - 模拟碰撞
2 如果是场景可以使用probuilder,多边形的场景方便使用原型碰撞器

碰撞素材模型-FBX

可以拿去用的圆环素材

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值