unity 碰撞检测的四种检测模式

四种检测模式

  • Discrete:离散检测
    通过在物理间隔时间中检测碰撞来工作
    对场景中的所有其他碰撞体使用离散碰撞检测,其他碰撞体在测试碰撞时会使用离散检测。

用于正常碰撞(默认值)
缺点: 快速移动 的物体可能会错过碰撞检测,可通过减少物理计算间隔时间,但会影响性能

  • Continuous:连续检测
    通过collider线性向前移动到下一帧的投影点来实现检测,就像一个boxcase检测
    这种 模式非常耗费性能

对动态碰撞体(具有刚体)使用离散碰撞检测

对静态碰撞体(没有刚体)使用连续碰撞检测

设置为连续动态的刚体,将在测试与该刚体的碰撞时使用连续碰撞检测(物理性能消耗较大,物体运动缓慢时请设置为 Discrete)

其他刚体将使用离散碰撞检测

  • Continuous Dynamic:连续动态检测
    非常耗费性能,只有当需要多个高速物体之间的精准碰撞时才使用
    对设置为连续和连续动态碰撞的对象使用连续碰撞检测

对静态碰撞体(没有刚体)使用连续碰撞检测

对其他碰撞体使用离散碰撞检测

用于快速移动的对象

  • Continuous Speculative:连续推测检测
    通过在当前对象周围画一个边界框来计算碰撞,会更加物体的线性运动和角度运动来推测未来的位置。

对刚体和碰撞体使用推测性连续碰撞检测

通常比连续碰撞检测的成本更低
缺点:会有虚假碰撞的情况,也就是两个快速移动的物体没有接触的情况下也发生了碰撞

总结:四种检测模式的选择

1.如果可以的话,尽量使用Discrete
2.如果物体有穿透或有快速的角度运动选择Speculative
3.如果有虚假碰撞的情况或者还是有穿透选择Continuous
4.如果需要多个高速移动的Collider,选择Continuous Dynamic,注意限制数量

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值