若要为液体模拟创建平滑的曲面,可以将 nParticle 转化为多边形网格。将 nParticle 转化为网格有许多优点,因为可以像编辑任何其他多边形对象那样编辑网格。
例如,通过在输出网格上执行多边形平滑操作,可以提高液体模拟的质量并改善液体模拟的整体外观。多边形平滑会增加网格中多边形的数量,并为网格提供更平滑的外观。对于液体模拟,这样有助于创建一个平滑的连续曲面(如水面)。请参见手册的“nDynamics”部分中的“nParticle 输出网格”(nParticle output meshes)。
将 nParticle 转化为输出网格之前,可以将模拟的初始状态设定为一个高级帧。这样做可以确保 nParticle 在其动画开始之前已沉到水壶底部。从第 1 帧到第 30 帧,Nucleus 重力以及 nParticle 和水壶内壁之间的初始碰撞会导致粒子移动。为了获得逼真的效果,需要在模拟开始时使水在水壶底部静止。
设定 nParticle 的初始状态
播放模拟,然后在第 30 帧或第 30 帧附近停止播放。
在“大纲视图”(Outliner)中,选择“nParticle_Water”。
选择“nSolver > 初始状态 > 从当前设置”(nSolver > Initial State > Set From Current)。
回放到开始帧,然后播放模拟。
如果对这些粒子在新初始状态中的行为方式(例如,这些粒子可能仍在水壶中移动)不满意,请播放 20 到 30 帧的模拟,然后再次设定初始状态。继续设定初始状态,直到对结果满意为止。
将 nParticle 对象转化为多边形网格
在“大纲视图”(Outliner)中,选择“nParticle_Water”。
选择“修改 > 转化 > nParticle 到多边形”(Modify > Convert > nParticle to Polygons)。
在将 nParticle 对象转化为多边形对象后,Maya 将不再在场景视图中显示该粒子。这将减少模拟时间,并会使得查看“输出网格”(Output Mesh)属性调整影响网格的方式更加容易。
“PolySurface1”对象将显示在“大纲视图”(Outliner)中,并且在“属性编辑器”(Attribute Editor)中将显示一个新的“polySurfaceShape”节点。
注意若要使 nParticle 对象在场景中可见,请在“属性编辑器”(Attribute Editor)中“nParticle_WaterShape”节点的“对象显示”(Object Display)区域中禁用“中间对象”(Intermediate Object)。
在“大纲视图”(Outliner)中,将新“PolySurface1”多边形对象重命名为 Water_Mesh。
在“属性编辑器”(Attribute Editor)中,选择“nParticle_WaterShape”选项卡。
在“输出网格”(Output Mesh)区域中,将“滴状半径比例”(Blobby Radius Scale)设定为 3.5。
在“输出网格”(Output Mesh)区域中,从“网格方法”(Mesh Method)列表中选择“四边形网格”(Quad Mesh)。
选择“四边形网格”(Quad Mesh)会通过使用基于四边形的多边形,创建已转化的网格,而“四面体”(Tetrahedra)、“三角形网格”(Triangle Mesh)和“锐角四面体”(Acute Tetrahedra)会通过使用三角形化的多边形创建网格。与基于三角形的输出网格相比,基于四边形的输出网格会更好地对多边形平滑作出响应(“网格 > 平滑”(Mesh > Smooth))。
推拉并翻滚场景,以便可以密切观察 nParticle 输出网格,并试验下列“阈值”(Threshold)值。
将“阈值”(Threshold)设定为 0.2。
使用该值时,nParticle 输出网格将延伸到 nParticle 对象的碰撞宽度之外,并会穿透水壶网格的内壁。
将“阈值”(Threshold)设定为 1.5。
使用该值时,粒子输出网格中将显示洞,因为某些 nParticle 不再重叠。
将“阈值”(Threshold)设定为 0.6 并继续。
将“网格三角形大小”(Mesh Triangle Size)设定为 0.2。
该设置确定用于创建网格的三角形大小。较小的值会生成包含较平滑曲面的较高分辨率网格。请注意,分辨率越高,网格模拟所花费的时间就越长。
若要将平滑应用于网格的四边形的角点,请将“网格平滑迭代次数”(Mesh Smoothing Iterations)设定为 3。
很明显,输出网格更加平滑。
播放模拟。