刚体节点

以下设置为刚体节点,其中一些只有当选择了对象时才能通过“属性编辑器”(Attribute Editor)访问。有关节点命令的列表,请参见 Bullet 节点命令参考

刚体特性

bulletRigidBodyShape 节点“属性编辑器”(Attribute Editor)“刚体特性”(Rigid Body Properties)部分中的属性决定了此模拟中动力学刚体的行为。

实体类型(Body Type)
从三个实体类型中选择:
  • 静态实体(Static Body):不移动
  • “运动学刚体”(Kinematic RigidBody):可手工制作动画
  • “动力学刚体”(Dynamic RigidBody):在设置初始位置后由刚体系统移动。
“从不睡眠”(Never Sleeps)
激活此选项以便动力学刚体始终参与模拟。禁用该设置后,如果刚体线性速度幅值小于 0.8,角速度幅值小于 1.0,则刚体不会参与模拟。针对用户控制当前未显示速度阈值。如果 bullet 对象受到影响,它将重新参与。这是一个优化设置,有助于阻止 bullet 对象持续的“混乱”运动。
质量(Mass)
将动力学刚体的质量设置为零可以有效将其转换为运动学刚体。即,刚体会由于物理模拟中的力停止移动。此属性可以动画化,且有助于将对象锁定在原地。
质心(Center of Mass)
设置对象的质心,作为旋转轴。
注: 如果在某个轴上更改壳线以外的其他任何碰撞对象形状的“质心”(Center of Mass)属性,则将变换碰撞对象形状基本体。若要抵消此问题,请在“碰撞对象形状偏移”(Collider Shape Offset)属性中的“碰撞对象特性”(Collider Properties)(关闭“自动适配”(Auto Fit)时可以访问)下在相同轴上添加相反的偏移。
线性阻尼(Linear Damping)
使用此设置可以定义在计算滚动摩擦时应用于线性速度的钳制值。由于该物理特性不会模拟滚动摩擦,它使用一个阻尼系统,以便使对象可以停止移动。例如,如果没有阻尼设置,滚动球体会永远滚动。它根据所有碰撞对象的阻尼因子,通过在每个模拟步骤中缩放线性速度实现此效果。

值为 1 时将保持实际速度。值小于 1 将降低速度,值大于 1 时会增加速度。默认设置为 0.01。

角度阻尼(Angular Damping)
使用此设置可以定义计算滚动摩擦时应用于角速度的钳制值。由于该物理特性不会模拟滚动摩擦,它使用一个阻尼系统,以便使对象可以停止移动。

值为 1 时将保持实际速度。值小于 1 将降低速度,值大于 1 时会增加速度。默认设置为 0.01。

摩擦力(Friction)

使用“摩擦力”(Friction)设置来设置对象的曲面阻力。默认设置为 0.5。

恢复(Restitution)
设定求解对象恢复到其原始状态的速度。创建“反弹”。默认设置为 0.99。

初始条件(Initial Conditions)

此部分包含 Bullet 解算器开始模拟时应用的属性。

开始时睡眠(Initially Sleeping)
如果激活此选项,动力学刚体在其他对象与其碰撞之前不作出反应。
初始角速度(Initial Angular Velocity)
更改此设置可以修改对象的角位移。使用此设置可以定义钳制值。 在计算滚动摩擦时应用于刚体的起始速度。
初始速度(Initial Velocity)
更改此设置可以修改对象的初始速度。此设置仅在开始帧设置。
输入世界矩阵(In World Matrix)
动力学刚体的初始位置,以及运动学刚体的指定位置。
粘合形状(Glue Shapes)
启用此选项可控制“刚体粘合”(Rigid Body Glue)约束,这对于使用大量刚体对象的场景是很有用的。有关使用“粘合”(Glue)约束的详细信息,请参见使用粘合来粘着刚体
粘合断开阈值(Glue Breaking Threshold)

使用此滑块可确定动态约束对于断开的抵抗能力。该值是相对于总体场景或对象比例。

阈值为 100.00 意味着约束需要更大的强度才能断开。阈值为 0 表示该约束会立即断开,就好像根本不存在约束一样。由于链接在开始帧处形成,因此,一旦链接被打断,它们将无法重组,除非“粘合断开阈值”(Glue Breaking Threshold)属性设置回 1。

力/冲量(Forces/Impulses)

此部分包含控制每一帧应用于刚体的冲量的属性。请注意在为这些值设置动态变化时需要使它们最终归零。否则,如果没有反作用力,那么在整个动画过程中持续应用冲量会导致刚体一直处于加速状态。

冲量(Impulse)
设置在模拟的每一帧应用于该对象的冲量力。
冲量位置(Impulse Position)
冲量力在指定的时间相对于质心应用于对象的位置。
扭矩冲量(Torque Impulse)
设置在指定时间应用于对象的扭矩(旋转)冲量力

碰撞对象特性

这些属性指定在模拟中如何显示刚体的形状。通常,较简单的形状性能更好、更稳定且更容易预测。最简单的形状是平面(无限大)、长方体、球体、圆柱体和胶囊。这些形状是由以下属性决定的:

碰撞对象形状类型(Collider Shape Type)
可以指定对象类型,或指定用于模拟解算对象的网格。选择“长方体”(Box)“球体”(Sphere)“胶囊”(Capsule)“壳线”(Hull)“平面”(Plane)“圆柱体”(Cylinder)“复合”(Compound)“自动复合”(Auto Compound)
注: 最好使对象的形状与受此形状影响的碰撞行为尽可能匹配。
输入网格(Input Mesh)
这显示哪个网格连接到刚体。用户不能编辑该字段。
轴(Axis)
可以为碰撞形状近似体设置一个轴。
长度(Length)
可以设置胶囊或圆柱体形状的碰撞对象近似体的圆柱体部分的长度。
半径(Radius)
可以设置球体或者圆柱体形状的碰撞对象近似体的半径,或者胶囊形状的碰撞对象近似体的球冠的半径。
范围(Extents)
设置碰撞对象形状近似体的边长。
重新适配(Refit)
对现有刚体执行一次自动适配。请注意平面碰撞对象表示一个无限平面,该平面经过对象变换的位置,方向根据其旋转确定。其在局部 X 轴和 Z 轴的方向无限延伸。
自动适配(Auto Fit)
自动更新其他属性。
注: 如果在通道盒中更改“自动适配”(Autofit)选项,该值在您返回到“属性编辑器”(Attribute Editor)之前不会更新。

碰撞过滤器(Collision Filters)

通过这些属性可以配置选择性碰撞。默认情况下,刚体是“默认过滤器”(Default Filter)碰撞组的成员,它们与“默认过滤器”(Default Filter)碰撞组的其他成员碰撞。刚体可以是最多 16 个组的成员,并且可以将其配置为可以与同一组中最多 16 个其他成员碰撞。可以通过 Bullet 解算器的碰撞过滤器属性自定义碰撞过滤器组名称。

有关不同碰撞对象形状类型的详细信息,请参见位于 www.bulletphysics.org 的《Bullet Physics 手册》。