007-Unity中的Static、Dynamic、Kinematic

//版本:2018\3\14

Dynamic:这种刚体类型具有可用的全套属性(例如有限质量和阻力),并受重力和作用力的影响。Dynamic刚体类型将与每个其它刚体类型碰撞,是最具互动性的刚体类型。这是需要移动的对象的最常见刚体类型,因此是2D刚体的默认刚体类型。此外,由于具有动态性并与周围所有对象互动,因此也是性能成本最高的刚体类型。选择此刚体类型时,所以2D刚体属性均可用。

Kinematic:这种类型的2D刚体仅在非常明确的用户控制下进行移动。虽然Dynamic2D刚体受重力和作用力的影响,但Kinematic2D刚体并不会受此影响。因此,Kinematic2D刚体的速度很快,与Dynamic比,对系统资源的需求更低。

Kinematic2D刚体仍然通过速度移动,但是此速度不受作用力和重力的影响。Kinematic2D刚体不会与其它Kinematic2D刚体和Static2D刚体碰撞,只会与Dynamic2D刚体碰撞。与Static2D刚体(见下文)相似,Kinematic2D刚体在碰撞期间的行为类似于不可移动的对象(就像具有无限质量)。选择此刚体类型时,与质量相关的属性将不可用。

(简单来说,Kinematic只能通过更改刚体的速度属性来改变位置,不会受到其它物理效果的影响。)

Static2D刚体设计为在模拟条件下完全不动(Play模式);如果任何对象与Static2D刚体碰撞,此刚体类型的行为类似于不可移动的对象(就像具有无限质量)。此刚体类型也是使用资源最少的刚体类型。Static刚体只能与Dynamic2D刚体碰撞。不可支持两个Static2D刚体进行碰撞,因为这种刚体不是为了移动而设计的。

参考:Unity用户手册

 

2020/12/28日更新:

补充一点:

Kinematic和Static刚体只和Dynamic刚体发生物理碰撞(在碰撞器IsTrigger关闭的情况下发生的碰撞),Dynamic刚体可以和任意类型的刚体发生物理碰撞。
触发碰撞(在碰撞器IsTrigger开启的情况下发生的碰撞)不限刚体类型,只要满足碰撞条件即可发生
 

发现错误欢迎指出。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值