MAX Reactor 之 车轮约束(CarWhell)

前端之家收集整理的这篇文章主要介绍了MAX Reactor 之 车轮约束(CarWhell)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、什么是车轮约束?

我们可以利用车轮约束将一个轮子安装到另一对象(如汽车底盘)上,或将它放到世界坐标系中的某个位置上,模拟时车轮将绕每个对象坐标系中的一条旋转轴自由旋转,并可沿悬浮轴线性运动。我们还可为车轮沿轴的运动添加某些限制。车轮约束也具有自旋参数。如果这些值非零,则在模拟期间约束会旋转轮子。可指定目标速度和目标增益:马达可以施加到刚体以实现目标速度的最大角推力。

在这一约束中,子对象始终作为轮子, 父对象始终作为底盘。这一约束还有转弯(Spin)参数,当其不为0时轮子可以转弯。

  1. 创建约束和对象以使用它进行连接。
  2. 在此约束的“属性”卷展栏中,单击“子对象”拾取按钮,然后,在其中一个视口中,选择希望用作轮子的对象。

    这会将此约束附着至轮子的轴点处。自旋轴与轮子对象的 X 轴对齐,悬挂轴与 Z 轴对齐。

  3. 如果不想将底盘指定给车轮约束,如有必要,则禁用“父对象”复选框。
  4. 如果此车轮约束为两个实体的约束,则重复步骤 2,使用“父对象”拾取按钮来指定此约束的底盘对象。

若要更改悬挂限制,请执行以下操作:

  1. 选定此车轮约束,打开“属性”卷展栏。

    在“悬挂参数”组中,默认限制设置最小限制为 0.0,最大限制为 0.0。这表示在完全对齐对象的约束空间的情况下,轮子将不能沿悬挂轴移动。

    该限制对允许轮子相对于底盘沿悬挂轴进行的运动进行定义,并显示为相对于底盘的一条线。这意味着在对齐子对象的稳定位置,如果限制是 –5 和 10,则轮子将能沿悬挂轴远离底盘移动:在图标箭头方向移动 10 个单位,在相反方向移动 5 个单位。

父空间

在此子对象层级,可以移动和旋转底盘的自旋轴和悬挂轴的表示。这说明了轮子附着在底盘的位置,以及底盘的自旋轴和悬挂轴的方向。这将在底盘空间中进行定义。也就是说,如果改变底盘的位置或旋转,则轴也会移动,并保持其相对于底盘的偏移旋转和平移。将底盘指定至车轮约束时,“底盘空间”的平移被设置为轮子的轴点,自旋轴与轮子的 X 轴对齐,悬挂轴与其 Z 轴对齐。如果此车轮约束是单实体的约束,则“底盘空间”表示该约束的世界方向和位置。

子空间

在此子对象层级,可以移动和旋转轮子的约束表示。这表示了约束会认为其附着点在轮子上的位置和轮子自旋轴的旋转。这将在轮子空间中进行定义,即如果改变轮子的位置或旋转,则空间也会移动,并保持其相对于该轮子的偏移旋转和平移。将轮子实体指定至车轮约束时,“车轮空间”的平移被设置为轮子的轴点,并且轮子的自旋轴与其 X 轴对齐。

悬挂旋转

此层级允许悬挂轴相对于底盘空间进行独立旋转。这意味着悬挂轴无须与自旋轴垂直,允许使用更大范围的约束设置。

父对象
启用时,此约束具有两个实体,您可以将一个对象指定为附着到此车轮约束的可选底盘刚体。禁用时,此约束是单实体的,父空间子对象占用的点为父对象。

通过单击该按钮,然后从任何视口中选择一个刚体,就可以指定底盘。此后,该按钮显示底盘对象的名称

子对象
显示连接到上的第二个刚体的名称。通过单击该按钮,然后从任何视口中选择一个刚体,就可以指定子对象。

将空间对齐至
使用此选项可以对齐实体的局部约束空间。在 使用约束空间一节中可以找到有关刚体的更多信息。

锁定相对变换
启用时,子约束空间和父约束空间之间的相对变换被锁定:如果在视口中移动任何一个空间,则另一个空间也会随之移动并旋转,反之亦然。

“强度”组

强度/Tau
控制应用到约束实体的推力以维持此约束,从而控制此约束限制其移动的强度。在 “强度”和“Tau”一节中可以找到有关刚体的更多信息。

“悬挂参数”组

最小限制
约束允许轮子相对于底盘沿悬挂轴、以图标的悬停箭头所指相反的方向移动的距离。例如,如果最小限制是 –5,则轮子不能够相对于约束的空间沿悬挂轴向后移动 5 个单位以上。

最大限制
约束允许轮子相对于底盘沿悬挂轴、以图标的悬停箭头所指相反的方向移动的距离。例如,如果最大限制为 10,则相对于约束的空间,轮子不能沿悬挂轴向前移动 10 个单位以上。

摩擦
在对象尝试沿悬挂轴相互移动时,应用到对象的摩擦级别。只适用于 Havok 1。

强度
悬挂弹簧的强度值。值越高垂直移动越小。只适用于 Havok 3。

阻尼
悬挂弹簧的阻尼值。较高的值抑制垂直振动。只适用于 Havok 3。

“自旋参数”组

速度
此值指示约束为轮子寻求获得的角速度(以每秒弧度表示)。

增益
此值指示约束可应用以获得指定角速度的最大角冲量。

“可断开”组

可断开
启用时,此约束可打破。如果在模拟期间超出其可打破限制,它将停止对附着对象施加推力

个人意见:

1、父对象是底盘,子对象是车轮,都得是刚体而且必须在一个刚体集合中,该刚体集合及所有的车轮约束都必须跟一个约束解算器相关联。

2、有多少个车轮,就要添加多少个车轮约束

3、在图中有三个箭头,绿色周边有螺旋状的箭头代表悬挂系统,一般要使之垂直于地面(选中Parent模式才可以旋转它);红色箭头代表轮子的旋转轴心,一般要使之在轮子中间并指向轮外方向(选中child模式才可以旋转它);绿色周边没有螺旋的箭头不知道代表什么,一般使之与红色箭头方向一致就可以了(选中Parent模式才可以旋转它)。

猜你在找的React相关文章