咨询电话:400-810-1418服务与监督电话:4000-066-572

用RealFlow实现倒水效果之调节水流形态教程

发布时间:2019-08-15 15:55:21

在前面的课程中呢,已经教大家设置了粒子属性,错过的学生点击:

 https://jiaocheng.hxsd.com/course/content/9555

而今天的课程重点则是教大家调节水流效果:

在实际生活中,倒水时由于手部不自觉地轻微颤动会使水产生抖动入杯的效果,但是在RealFlow模拟这一场景时,你会发现因为发射器的位置固定,粒子流也很稳定,呈现出的效果便比较机械,所以我们需要让发射器“抖”起来。使发射器产生抖动效果的方法很多,当然,主要是对其Rotation(旋转)进行设置。这里我们提供两种方法,分别进行讲解。

01使用编辑曲线并配合表达式。

oStep01选中发射器,在右侧的节点参数面板中打开Node的下拉列表,在Rotation(旋转)项上单击右键(注意这里是在Rotation(旋转)这个名称上单击,而不是单击它后面的参数,在RealFlow中无论给哪个值设置关键帧,均为右键单击其名称,而不是单击它的参数,这一点不同于Maya),在弹出的菜单中选择Rotation.Z(旋转Z)(你需要为哪个轴设置关键帧就选择哪个轴,本案例中选择的是2轴)项下的Open curve(打开曲线)命令,如图3-34所示。


oStep02打开Rotation.Z(旋转Z)的曲线编辑器,在界面最下方的中部,有一个长条框 ,这里就是曲线的表达式编辑区。在界面右

下角有一个Insert(插入)按钮,这里提供了RealFlow中所有函数表达式的写法,单击即可调取。本案例使用的是sin(),因为正弦函数值在-1~1之间无限循环,符合本案例“摆动”的效果,但此时你会发现曲线还只是一条直线,于是你需要在sin()中输入一个值,但是无论你输入哪一个数值,结果还是一条直线,因为输入的值是固定的,那么计算出的函数值也同样是固定的。我们需要一个自身可以变化的量,来使sin)

值不断地变化,单击Insert(插入)按钮,在弹出的菜单中选择Ivars,可以看到t(time时间)、f(frame帧)、fps(帧速率)3项,如图3-35所示。


t指time(时间),每一秒增加1个单位;f指frame(帧),每一帧增加1个单位;fps指帧速率,例如,电视是25,电影是24。在Maya中同样有这两个参数,但调用时必须使用全称time(时间)和frame

(帧)。在RealFlow中只需要缩写为t和f即可,例如,使用t,即写作sin(t)。

oStep03这个表达式的完整版本是:a*sin(t*b)+c,其中a、b、c是三个常量,这是正弦函数的标准写法,相信学过正弦函数的同学都不陌生。当这个式子等于sin(t)时,说明a、b、c均等于1,a表示振幅,在本案例中控制的是发射器摆动的幅度,那么值越大,摆动的幅度就越大;b表示频率,在本案例中控制的是发射器摆动的频率,值越大,频率就越高;c表示偏移,对参数值整体的偏移,在本案例中控制的是发射器初始旋转角度,输入的表达式为sin(t*3)*5+35。

上式中的a、b、c是我为了说明这个概念自己定义的,在你输入表达式时,a、b、c都必须是固定的数值,如果你把a、b、c直接放入表达式中,系统会认为这些都是变量,而且是它不认识的变量,继而便会报错。

oStep04此外,你还可以为这个频率曲线增加随机的效果,方法很简单,只要在这个正弦函数后面加上一个随机函数就可以了,在RealFlow中,随机函数的写法是rmd()。现在,整个函数的最完整版本是:

a*sin(t*b)+c+rnd(d),其中d同样也是常数,这里输入的表达式为sin(t*3)*5+35+rmd(2)。

小结:用编辑表达式的方法实现本案例时,会发现为了达到比较好的效果,需要反复调试里面的常数,还要反复解算观察效果,不是一蹴而就的,效果远不及直接为发射器设置关键帧方便、直观。其实我们在这里只是拓展了一种制作方法,帮您打开思路,并不是主观强调该方法在本案例中有多大的实用价值。使用表达式控制曲线,可以减轻手动设置关键帧的繁琐与耗时;简单来说,有时这种制作方法还是很有价值的。

02直接为发射器的Rotation(旋转)属性设置关键帧。

oStep01在节点参数面板中用鼠标右键单击Rotation(旋转)属性,选择轴向后Add Key(添加关键帧)。更加便捷的方法是通过界面右下角的,在弹出的对话框中直接选择移动、旋转或缩放,设置关键帧。但是,手动设置的曲线较为突兀,缺乏光滑感,相应的发射器动态也必定不流畅,这时你还可以使用曲线编辑器对手动设置的关键帧做进一步调整。

oStep02选中发射器,在节点参数面板中用鼠标右键单击Rotation(旋转)属性,在打开的对话框中依次选择Rotation>Open curves(旋转>打开曲线)命令,打开曲线编辑器对话框,如图3-36所示。


oStep03框选曲线上的任意点,打开该点的操控手柄,即可对该点进行编辑。单击按钮,可在曲线上新增编辑点,而单击按钮,则可删除曲线上的任意点。选中曲线上的所有点,单击该对话框工具架上的按钮,可使点与点之间更加顺滑,并使每一个转折点的切线变为水平(注:当选择曲线上任意一个点时,会自动显示出该点的切线),如图3-37所示。


oStep04还可以使手动编辑的曲线进行无限循环,在曲线编辑框中单击鼠标右键,从弹出的菜单中选择Last Node Behaviour>Loop(下一个节点行为>循环)命令即可,如图3-38所示。


1.  被复制出的曲线都没有控制点,无论你如何框选都不会出现,这说明复制出的曲线不能被单独控制;2.原曲线上的点在进行调整时,复制出的曲线也会随着相应变化,这说明无论你如何更改原曲线,复制出的曲线都会与其保持一致。

下面继续调节水的形态,使其更加逼真,更赋有动感。

oStep05实现这一目的自然是需要更多的粒子来表现细节,那么在原有状态的基础上,如何增加细节呢?这时就需要调整Int pressure(内压)和Ext pressure(外压)选项;调/小Int pressure(内压)可以使粒子之间的斥力变小,从而聚合得更加紧密,细节也更加丰富。而Ext pressure(内压)与Int pressure(外压)互为作用力,相互之间保持着一种平衡,当调小Int pressure(外压)时,Ext pressure(内压)也需要适当调小,以使得这种平衡可以被维系,如图3-39所示。

在场景解算的过程中,可以看到视图窗口右下角有一行亮黄色显示的小字,并且小字是实时更新的,如图3-40所示。


其中,TC00:00:20是指解算到当前这一帧时,实际播放过程中的时长,三个数字分别表示“分:秒:

帧”。RealFlow默认30帧为1秒,所以每到30帧就会自动进1位;F20是指当前解算的帧点;ST00:01:57则是指从开始解算到当前的总耗时。

由于粒子在解算过程中还要进行实时显示,这将耗费较多的系统资源,占用解算内存,此时可以关闭实时显示窗口来加快解算速度。执行菜单View>Disable Viewports(视窗>禁用视口)命令(或使用快捷键Alt+D),即可将视图隐藏,再次单击则又恢复显示,如图3-41所示。

以上就是本节教程,在下面的课程中,小编则教大家如何预览阶段效果,想学的学生点击:

https://jiaocheng.hxsd.com/course/content/9568