官方文档链接:https://www.sidefx.com/docs/houdini/dyno/index.html
在Houdini中,你使用Dynamics(动态模拟网络)来创建模拟仿真。你要创建模拟物体 并对其应用一个或多个解算器。Houdini有多种类型的模拟,例如布料、刚体、线缆、流体。还有特别的解算器用来将动态模拟与Houdini的其他部分集成,例如脚本解算器、几何解算器、粒子解算器、Python解算器。
最基础的动态模拟的设置可以是一个模拟物体连接着一个解算器,并应用着一个力。
动态模拟还可以有约束,可以基于另一个物体的位置来约束一个物体的位置。例如,弹簧约束会产生看不见的弹簧连接着两个物体的效果。
约束是关系 的一种。模拟物体还可以有碰撞关系。例如,刚体和流体的模拟可以互相影响。
动态模拟网络建立了一个树,其中是携带着数据的物体。视窗显示了模拟出的几何体的动画,而 Geometry Spreadsheet 窗口显示了每个物体 当前所应用的所有数据:
你可以添加拖拽、风、冲击、场、风扇、和其他力(详见 Drive simulation tab)
对于一种相同的结果,其DOP网络的连接方式可以是不同的。那些为物体附加数据的节点,只会为通过其灰色输入的物体附加数据。因此,你可以通过将作用力节点摆放在网络中的不同位置,来限制一个力将被哪些物体应用。你也可以通过作用力节点的Group参数来控制哪些物体会被应用。
例如,在下面网络中,gravity1力对sphere_object1和box_object1都起作用,因为这两个物体最终都连到了这个力上。然而,fan1力只对sphere_object1起作用,因为只有它与fan1相连。
与时间相关的表达式在动态模拟网络中略有不同。代替$F
(当前帧)和$T
(当前时间)的是,你应该使用$SF
(模拟帧)和$ST
(模拟时间)。这是因为Houdini的动态模拟引擎有时会在时间上后退和前进来解决碰撞问题,当它发生时,$F
可能会两次变为12帧,而$SF
和$ST
只会增加。