开始要创建水的动画,我需要一些几何体来模拟我的水。首先要创建一个玻璃杯和一个瓶子,将瓶子里的水倒入杯中,重要的是要保持模型不变形,这是非常重要的。要确保单位是厘米,然后我模拟了一切现实生活中的模型。
(图01)
现在,可以添加一些粒子到画面中去,首先我可以采取的nParticle预设的优势,在菜单n粒子>创建n粒子,有五个默认颗粒设置的选项(图02)。
(图02)
然后在同一个菜单中,我选择加入水,创建发射器。这将创建一个场景中的nParticle对象,确认后,将发射器的最大距离设置为0,这意味着所有的颗粒将在相同的位置产生。因此,在发射器的属性编辑器里,在距离/方向的属性里我设置的最大距离为2,我把发射器瓶(如图3)内的水的发射速度调整为500。
(图03)
另一个要马上改变的是名为Nucleus的解算器,默认值是4,这可能会导致模型看上去不稳定,我把它上升到12,可以通过粒子爆炸或碰撞对象移动。
如果我没有在原点创建几何图形,可以在场景中创建一个平面作为碰撞的对象(图04)。
(图04)
最后,我需要添加几何体作为粒子的碰撞对象,在nMesh创建几何体。我选择的每个对象都可以在属性编辑器的nRigidShape属性里进行调整粗细、弹跳和摩擦碰撞等。
现在,我可以看一遍我的制作结果,对于水的预设工作,默认值还是挺不错的,但也有一些数值需要改变。
在属性编辑器的nParticleShape选项里,开始改变粒子半径,粒子的半径改为15。另外,我把半径的随机比例增加至0.1,这样做是为了粒子的半径能够随机生成,这将有助于防止颗粒沿表面堆叠,如图所示 (05)
(图05)
希望这些颗粒可以相互渗透,这样玻璃之间就没有缝隙了。要做到这一点,我要把宽度比例设置为7。
在液体模拟里面有一个名为液体半径比例的属性,这会影响很多颗粒相互渗透。当然,他们重复的越多,表面越光滑。默认值调到0.5时他们的重叠率会很高,更多的粒子将会填补玻璃,粘度将改变成液体的形态,像蜂蜜或糖浆一样,具有高粘度,有着较厚的液体,而水具有比较低的粘度。
我把发射率的140帧切断,这样它才不会继续倒,我需要播放一次模拟之后加以调整。
(图.06)
为了更快地播放,我可以缓存我的模拟,在nCache的菜单中,选择了n粒子,把我的目录以及其它选项进行缓存。
我喜欢把每帧都另存一个文件,以便在崩溃的情况下,我可以从停止的地方继续操作。
另外,我缓存后,有一个缓存描述信息面板,在属性编辑器的缓存选项底部,在这里,我可以找到我创建的高速缓存,这可以帮助我设置跟踪那些缓存过的所有属性。
这种仿真17分钟能做300帧,最终颗粒数为34750。
对于第一次模拟来看还是很不错的。
我猜约有15万粒颗粒,这将意味着140帧速率每秒大约25,000颗粒。
我也提到了液体半径比例,并运行另一个SIM来看看它的外观。
这一次我让他跑380帧,需要3小时5分钟,总颗粒数是144791。
现在,有了一个很好的模拟以后,可以创建网格。点击修改>转换> n粒子为多边形。因为我第一次做这个,所以有很多不足的地方(图07)。
(图07)
根据下图(图8)调整数值,这样就能看见最终的场景了。
(图8)
三角尺寸将影响网格里面的多边形尺寸的大小。最大三角分辨率会自动更改网格三角形的大小。事实上,如果我将多边形的设置为100,并且让它超过100,并使我的网状物的整个宽度沿一个方向,那么它将会改变三角形大小。大多数时候改变整个模拟三角形的大小将导致网格帧之间的流失,所以为了避免这种情况发生,我将给他一个适当的数值。
然后,我给几何形状进行渲染,加入一些灯光和地板面,最终的效果就这样出来了(图09 - 10)。
(图 09)
(图10)