动力学求解器

当场景中的任何项目定义为Active Rigid BodyPassive Rigid Body要么Soft Body ,动态求解器项目会自动添加到场景中的场景中Items清单。场景中只需要一个求解器项目的实例,因为它可以控制模拟的所有全局参数,例如时间步长,重力等。如果动态求解器项目被意外从场景中删除,则可以从菜单栏中添加另一个,单击Dynamics > Add Solver。在Items视口中,可以在Properties面板。

Mesh Dynamics Panel

选项

描述

Enable

默认情况下处于启用状态,您可以禁用此选项以临时挂起Dynamics仿真计算。

Physics Rate (Hz)

表示在一秒钟的场景时间内进行动态评估的速率(与FPS设置无关)。在FPS速率为30时,默认物理速率为60,每帧提供2个计算步骤。即使您只在整个帧步骤中都看到了模拟结果,但在帧之间仍然可能发生很多移动,尤其是对于快速移动的对象。如果对象看起来相交或彼此移动,则增大此值有助于消除这些错误,但是,随着速率的增加,计算次数也会增加。较高的数字会提供更精确的仿真,但要花费更多的计算时间。

注意:  看结果Physics Rate,您需要进行完整的缓存模拟,因为两种实时预览模式始终默认为每帧更新一次的物理速率。

Gravity X/Y/Z

控制重力的方向和大小。重力是影响场景中所有事物的世界力量值。的默认值-9.81以1:1比例(米/秒)模拟地球上重力的向下拉动。

Visualize

Locators

启用后,将绘制动态对象的重心。

Constraints

启用后,绘制约束。

Debug Drawing

绘制动力学模拟器实际看到的内部表示。特别是在复杂的场景中看到它可能会让人不知所措,但对于排除表现不如预期的模拟可能会很有用。

Locator Scale

缩放定位器工程图。

Advanced

Body Update Frequency

确定动力学多久收集一次通道和变形数据以更新场景中每个动态项的内部表示。

Sim Start:内部表示在仿真开始时仅更新一次。

Every Frame:内部表示会在每个整个帧值处更新。

Every Tick:内部表示在每个位置更新Step,可以产生准确的子帧运动,但是会产生大量额外的开销,这可能会大大减慢场景的模拟速度。

Global Density

密度是任何给定体积中物质数量的量度。在Modo,几何对象在技术上是空心的,因此没有密度,但是如果以这种方式模拟对象,它们将像纸壳一样被吹走。为动态对象提供密度值可以提高仿真的真实性。与金属不同,与木材不同,不同的材料具有不同的密度,影响其重量,并因此影响它们在模拟时的移动方式。的Global Density选项确定场景中全局动态对象的密度。您可以调整此值,从而影响整个场景中的所有动态对象。您也可以覆盖Global Density通过设置Mass Source项的动态属性中的选项之一Local选项并分别定义一个值。

Scene Scale

动态评估会在计算中做出某些假设,假设项目的大小大约在真实世界范围内,介于葡萄大小到货车大小之间。模拟此范围内的项目可产生最真实的结果,理想大小约为1m。超出此范围的项目会出现准确性问题。除了缩放目标场景,您还可以使用Scene Scale选项可以在内部扩展计算范围,从而产生较好的结果,但精确度稍差。的默认值1 m等于100%。改变Scene Scale大小到10 cm将场景放大10倍(1000%),在模拟非常小的项目时很有用。同样,更改Scene Scale大小到10 m将所有内容缩小10倍(10%),在模拟非常大的项目时很有用。

Time Scale

通常,模拟会根据模拟力的真实值及时移动项目。您可以使用Time Scale选项分别降低或提高该值,以全局调整模拟慢动作或超速效果的运行速度。

Global Deactivation Time

定义动态对象必须在以下位置多长时间Linear要么Angular入睡前的阈值。默认值为2秒,因此默认值会根据场景的帧速率而变化;通常为48帧(24fps)。

Global Lin. Sleep Threshold

当动力学仿真中的对象停止移动时,它们将进入睡眠状态,因此不必为每个帧的每个对象都计算运动值。此设置定义使这些对象进入睡眠状态的下限阈值。您可以使用Linear在中找到的选项动态物品的属性。

Global Ang. Sleep Threshold

当动力学仿真中的对象停止旋转时,它们将进入休眠状态,因此不必为每个帧的每个对象都计算运动值。此选项定义使这些对象进入睡眠状态的较低的全局角度阈值。您可以使用Angular在中找到的选项Dynamic Item的属性。

Use Warm Starting

Dynamics利用迭代算法,其中每次迭代都基于先前迭代的解决方案。如果禁用此选项,则将求解器算法的初始解决方案每帧设置为零。启用后,每个新迭代将使用上一帧的最后一个解决方案。这样可以改善向更好解决方案的收敛性,尤其是在动态特性的堆栈稳定性方面。

Two Direction Friction

如果两个对象表面彼此平行滑动超过几个帧,则可能会引入错误,启用此选项可以减少或消除这些错误。

Randomize Order

通常,约束和冲突是按顺序计算的。启用此选项将计算要随机化的订单对象。启用后,此选项可以帮助提高动力学模拟的堆叠稳定性。它的性能成本非常低,这就是默认情况下禁用它的原因。

Resting Contact Restitution Threshold

默认情况下,动力学通过将恢复设置为零来实现一种用于静置触点以提高稳定性的机制。它使用阈值比较触点寿命以确定静止触点。

Split Impulse

默认情况下,动力学求解耦合在一起的位置约束和速度约束。在许多情况下,此方法效果很好,但是位置与速度相关的误差减小会引入额外的能量(值得注意的是反弹)。不用耦合位置和速度约束求解,可以使用Split Impulse选项。这意味着从深度穿透中恢复不会增加任何速度。

Split Impulse Penetration Threshold

这设置了渗透阈值。

Split Impulse ERP

如果发生深度穿透,则使用减少错误的参数。

Solver Iterations

确定约束求解器用来解决冲突的帧之间的迭代次数。增大此值将生成更精确的约束模拟,但以更长的模拟计算时间为代价。