设置二维物体的物理属性
-
介绍
每个二维物体都有 3 个重要属性:密度、摩擦系数和弹性系数。当一个角色被添加到物理世界后,其属性将被设置为一些默认值。我们可以使用以下积木来更新这些属性:
密度
密度控制一个物体有多少物质。具体来说,一个物体的质量等于它的密度乘以它的大小(面积)。对于两个相同大小的物体,密度大的物体会更重。另一方面,当两个物体的密度相同时,越大的物体越重。
请注意,从物理定律来看,较重的物体不会下落得更快,但它在与较轻的物体碰撞时会“更加强势”。在下面的示例中,这 2 个球的大小相同,但蓝色球的密度是绿色球的 10 倍:
对于所有的固定的物体,无论你如何设置密度,物理引擎都会假定它们具有无限大的密度。对于动态物体,当它的密度为 0 时,物理引擎将假定它具有无限大的密度。该物体不会对外力或重力做出反应,但你仍然可以设置它的速度。基本上,它的行为就像一个“可设置速度”的物体。
摩擦系数
如果两个物体相互接触,并且其中一个物体相对于另一个物体移动时,它们之间就会产生摩擦力,试图阻止这种运动。摩擦系数属性控制两个物体之间摩擦力的大小:0 表示没有摩擦力(完美光滑的接触表面),数值越大就代表越大的摩擦。
两个物体之间的平均摩擦系数将决定它们之间的摩擦系数。
例如,下图中斜坡的摩擦系数为 0,左边的盒子的摩擦系数为 100,右边的盒子的摩擦系数为 0。摩擦力使左边的盒子保持原位,而右边的箱子滑下斜坡:
弹性系数
弹性系数控制物体在碰撞时反弹的强度。当两个物体发生碰撞时,我们取它们的平均弹性系数。如果平均值为 0,则这 2 个对象不会弹回,而是会粘在一起。如果平均值为 100,则它们将以与碰撞前相同的速度弹回。
在此示例中,方块的弹性系数为 100,而 2 个圆的弹性系数为 100 和 0。
蓝色圆和方块的平均弹性系数是100,所以蓝色圆会不断的全速反弹。绿色圈和方块的平均弹性系数是50,所以绿色圆每反弹一次就会失去一半的移动速度。
物理世界四面围墙的物理特性
初始化物理世界时,物理引擎会在舞台周围添加 4 堵墙,以将物体圈在里面。你可以使用以下积木设置这 4 面墙的物理属性:
请注意,墙是固定的,因此我们假定它们的密度为 0,无需再设置。你只能设置它们的摩擦系数和弹性系数。