What & How & Why

Slover


Houdini 中,默认情况下的几何体动画中,每一帧都是独立的(Self-contained)的;也就是说,前后两帧并没有什么关联。而 Solver 提供了一种迭代式的更新方法,使得每一帧的结果都会基于前一帧来生成(Run Time?)。

Solver 的结构及使用

Solver 在使用上有两个层级:一个是外部层级(geo level),有 4 个输入端口;一个是内部层级(Dop geo level),有对应外部层级的 4 个输入源的接口,和一个负责更新数据的节点 Prev_Frame

一般来说,我们这么使用 solver:

  1. 将数据源连接到 Solver 的 input 上
  2. 在 solver 内部建立每次迭代的循环部分(需要改动的部分,比如 transform)
  3. Prev_Frame 获取前一帧的数据,从 Input 获得当前帧的数据,对这些数据应循环的部分

Input 里面的数据并不是必要的。只有当需要额外的外部的数据参与到循环的计算中,才会使用到 input 的数据。比如 Rest 的数据。

当处于在 Solver 的内部层级的时候,我们是无法观看到迭代的过程的,能看到的只有当前帧的结果。

可以观察到的是, Solver 的工作部分是在 DOP network 的内部的。因此 Solver 的工作机制遵循 DOP network 的机制(比如 caching, sub step 等等)。


常用参数

ParametersUsage
Reset Simulation重置模拟。任何 DOP 异常都应该首先尝试这个选项。
Initial State允许自定义初始状态。如果不定义,则默认 input1 为初始状态。
Allow Caching To Disk如果内存满了,将迭代中较旧的内容存到硬盘里。