以下设置为刚体节点,其中一些只有当选择了对象时才能通过“属性编辑器”(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 手册》。