本篇主要讲述realflow在maya中的应用。其最终效果如下:
字串6
字串6
(效果图)
字串2
1, 首先安装Realflow的插件。把插件包中所有的*.mll复制到 /maya/bin/plug-ins里,把AERealflowEmitterTemplate.mel 复制到 /maya/scripts/AETemplates 里,把剩下的3个*.mel 复制到 /maya/scripts/others里。
2, 打开Maya,勾选以下几项。
(图1 打开Maya) 字串6
3, 在Maya中建立一个场景,制作瓶子和杯子的动画。需要注意的是,冰块的动画不用在maya中制作,而是导入Realflow里和杯子做碰撞。 字串4
字串6
(图2 场景)
字串4
4,选择酒瓶,将其转换为三角面的polygon。 因为在 RealFlow中,只能识别三角面的polygon。同理,把杯子和冰块也转换成三角面的polygon。如果物体已经是polygon的,则直接用polygon下的Triangulate命令将其转换为三角面。
字串3
(图3 转换为三角面)
5, 将场景export成Realflow可以识别的sd文件,命名为bottle.sd 字串4
6, 打开realflow,建立一个project,命名为bottle。 字串6
7. 把刚才从maya导出的bottle.sd复制到工程目录的object目录下。然后import到realflow中。
注意,要在如图的菜单中选择Maya(Y up)。这样,本场景的空间坐标系就和maya原场景里一致。
字串9
(图4 Maya(Y up))
8,建立一个粒子发射器Circle01。 字串8
(图5 粒子发射器Circle01) 字串3
移动发射器的位置到瓶口。
(图6 移至瓶口) 字串9
移动,旋转,缩放的快捷键是W , E , R。 字串2
9.Maya场景中的动画也随着sd文件导入了Realflow的场景。根据现有动画,需要让水在50帧的时候从瓶口流出来。我们可以在粒子发射器的speed属性上设置动画。 字串2
50帧的时候设一个关键帧,48 帧的时候设一个关键帧,由于Realflow默认在第零帧有一个关键帧。在speed属性上点击右键,选择open curve,打开其动画曲线,会发现第零帧也有一个关键帧,删掉这个关键帧。
字串4
(图7 动画曲线) 字串2
10. 给粒子一添加个重力。
字串8
字串5
(图8 添加重力) 字串6
11.然后让冰块和杯子产生碰撞。
字串2
(图9 冰块和杯子的碰撞)
字串5
选红色框内的yes表示冰块受其他物体影响,选蓝色框内的yes表示冰块会受粒子的反作用力而移动。同理另一个冰块。 字串6
由于杯子不需要受粒子的反作用力而移动,只选红色框内的yes.
12.点选Scene Tree,把右边的nurbsToPoly2 (杯子)用鼠标拖到Circle01(粒子发射器)下。让杯子成为粒子的影响物体。同理拖入iceA 和iceB。
13.点选Action开始解算。
(图10 解算)
粒子流顺利地流入杯中,并和冰块产生互动。但是水流过于圆滑,没有真实中水流出来的那种律动感。我们需要调节发射器属性下的V random 和 H random, 这两个属性可以增加粒子流在垂直和水平方向速度的随机性。调整后如下 字串3
(图11 调整图例) 字串9
14.现在我们让粒子流实体化。 字串5
选择粒子,点击Create mesh并点击Build mesh, Realflow会根据粒子产生网格面。 字串6
字串9
(图12 网格面) 字串8
Polygon Size 越大,网格面数越少,但是细节会有部分损失。 字串9
字串7
(图13 网格面数较少)
字串5
调节Filters下的属性,可提高实体表面的光滑程度。 字串1
(图14 实体表面光滑程度)
15. 打开Export Central,我们需要导出水流的网格面和冰块。然后点击Action。生成的文件分别在Realflow工程目录的mesh和object下。网格面是*.bin的序列文件,在mesh目录里。冰块是*.sd文件,在object目录里。 字串4
(图15 导出水流网格面和冰块)
字串3
16.打开原Maya场景文件。导入Realflow生成的网格面和冰块,网格面需要用Realflow的Mesh Loader导入*.bin文件,冰块直接用import导入 字串5
字串4
(图16 导入Realflow生成的网格面和冰块) 字串6