本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正
1.刚体是什么
在 Unity 中,刚体(Rigidbody) 是物理引擎中最基本的组件之一,通过添加刚体组件,你可以赋予游戏对象一些常见的物 理属性,例如质量、摩擦力和碰撞参数
Introduction to Rigidbody 2D - Unity 手册
说白了,刚体就是对外界力做出物理反应的组件
单独一个刚体不能发生碰撞,但可以模拟大多数的物理效果,比如重力,受质量影响的加速度等
2.刚体类型
Rigidbody 2D body types - Unity 手册
Dynamic
Body Type: Dynamic - Unity 手册
一般参数查看手册或者望文生义都可以、
sleeping mode
睡眠状态可以减少计算量以节省性能
interpolate 插值(处理)
Define how the GameObject’s movement is interpolated between physics updates
当物体的运动处于不稳定状态时,可以尝试用此功能处理
Kinematic
Body Type: Kinematic - Unity 手册,运动学刚体的特点如下:
因为特殊的运动学特点,他可以用在如下用途
因其默认是不与同类型和静态类型刚体发生碰撞交互的,如果想要其与之交互则选勾选下选项
Full Kinematic Contact | Enable this property if you want the Rigidbody 2D to be able to collide with all other Rigidbody 2D Body Types. Note: When this property is disabled, the Kinematic Rigidbody 2D only collides with Dynamic Rigidbody 2Ds. See Using Full Kinematic Contacts for more details. |
Static
Body Type: Static - Unity 手册
静态刚体2D被设计为在模拟下完全不移动,如果有任何东西与它碰撞,静态刚体2D的行为就像一个不可移动的物体(好像它有无限的质量),它也是最不需要消耗资源的刚体,且只与动态刚体碰撞
注意:不支持两个静态刚体2d碰撞,因为它们不被设计为移动
在一些简单的案例,我们常用Static设置那些不可跨越的障碍,因为他只和动态刚体发生碰撞(也就是不对动态刚体以外的刚体发生检测)