XPBD 解算器¶
XPBD 解算器 节点提供了一个用于毛发、布料和粒子的物理模拟系统。它实现了 "extended position-based dynamics" (XPBD) 算法。
该节点期望数据以 类型化捆包 的形式通过其 世界环境 输入提供。这包括模拟的几何组件、针对该几何体的结构约束声明,以及阻尼和碰撞等外部作用效果。
The XPBD Solver node is complex and intended to used inside more user-friendly assets. Full documentation of its behavior and supported components of the World input can be found in the developer documentation.
输入¶
- 世界环境
由几何体、行为和效果器组成的模拟捆包。这些捆包可以相互嵌套;世界环境数据无需遵循任何特定结构。几何体和效果器可以分组为逻辑子捆包,也可以保存在扁平捆包中。
- 增量时间
总时间步长,单位为秒。如果 子步数 的值大于 1,则该步长将被细分。
- 过滤
用于限制待模拟几何体的过滤标签列表,各标签以逗号分隔。每个几何体可关联一组标签,解算器节点仅会模拟具有至少一个匹配过滤标签的几何体。
- 模拟至世界空间
从物体空间到模拟空间的可选变换。这定义了所有物理模拟所发生的空间。所有几何属性、力及其他属性都应事先进行相应的变换。碰撞体几何体将在内部转换为模拟空间。
解算器¶
- 子步数
模拟过程中使用的子步骤数量。增加子步数在某些情况下有助于提高稳定性,但也会因重复碰撞检测而增加成本。
- 约束迭代
约束解算器为确保所有约束条件均得到满足而执行的迭代次数。若残差大于 1,则建议增加约束迭代次数。
- 路径
解算器结果数据的可选输出路径。如果该路径不为空,则会在 世界环境 输出中添加一个包含该解算器步骤结果的新捆包。
插值范围¶
- 开始
子步长间隔的分数起始值。这可用于执行外部子步长循环。
- 结束
子步长间隔的分数结束值。这可用于执行外部子步长循环。
输出¶
- 世界环境
应用单个时间步长后的修改后模拟数据。位置和旋转的几何属性会根据物理运动、外力和约束条件进行更新。
通过设置 路径 输入,可以将有关模拟结果的附加信息存储在一个捆包中。其中包括一个描述解的质量的残差值。