MeshCollider的那些坑

1. 错误:Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!

在NGUI中添加MeshCollider后,出现错误: 该错误的原因是MeshCollider和NGUI不兼容,如果直接把MeshCollider加到unity原生UI,没有这个问题。


2. MeshCollider点击无响应: 

    原因有两个:

  1.         meshCollider的法线方向不正确
  2. 如果把meshCollider添加到Scrollview后,需要把Camera的UICamrea的eventType,从UI类型改成world类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mesh ColliderUnity游戏引擎中的一个组件,用于在物理模拟中使用复杂的网格形状作为碰撞器。它能够使游戏对象根据其所使用的网格形状进行精确的碰撞检测和碰撞响应。 与基本的碰撞器相比,如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、付费专栏及课程。

余额充值