碰撞盒使用-MeshCollider

建模测试

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

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

如果勾线convex选项,则:

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


碰撞测试 - convex=true

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

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

如果不勾选convex选项,则:

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


碰撞测试 - convex=false

在这里插入图片描述


碰撞限制 - 重点

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

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

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

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

碰撞解决方案

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

碰撞素材模型-FBX

可以拿去用的圆环素材

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mesh Collider是Unity游戏引擎中的一个组件,用于在物理模拟中使用复杂的网格形状作为碰撞器。它能够使游戏对象根据其所使用的网格形状进行精确的碰撞检测和碰撞响应。 与基本的碰撞器相比,如Box Collider或Sphere ColliderMesh Collider可以更准确地模拟物体的形状,因为它使用游戏对象的网格数据作为碰撞检测的依据。这意味着它能够更精细地与其他对象进行碰撞,并在物理仿真中更真实地表现出物体间的交互。 Mesh Collider使用相对较复杂,因为它需要游戏对象具有网格组件以及相应的网格数据。首先,我们需要在场景中创建网格对象,并将其赋予游戏对象的网格组件。然后,在网格对象上附加Mesh Collider组件,并将网格数据传递给Mesh Collider。此时,游戏对象将根据网格形状进行碰撞检测,并在碰撞发生时执行碰撞响应的代码。 使用Mesh Collider有一些要注意的事项。首先,网格越复杂,计算碰撞所需的计算资源也越多。因此,在设计游戏场景时,应尽量减少复杂的网格形状,以提高性能。其次,Mesh Collider只支持静态网格,即在编辑器或运行时不会改变形状的网格。如果需要动态变化的碰撞器,应考虑使用其他类型的碰撞器组件。 总的来说,Mesh Collider是在Unity中实现高度精确碰撞检测和模拟的重要组件。通过使用网格形状作为碰撞器,它可以使游戏对象在物理仿真中更真实地互动,并为开发者提供了更多创造性和灵活性的可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值