水管中流淌的水
本课我们将通过在水管中流淌的水的效果来学习液体在管道中流淌的设置方法。我们将学习到水在多个分支管道中的流动的设置,当水管中的水接近分支管道时,它将会有选择的改变方向,最终效果如下图所示。
1、打开范例场景。单击此处下载pf10.max场景文件(52K, Winzip压缩文件)。在这个场景中我们提供了一个带有分支的水管的模型、三条样条曲线(主要用于定义不同分支水管的路径)、一个箭头模型,如图1-1所示。
图1-1
2、创建粒子流系统。单击Create(建立)/Geometry(物体)钮,在其下拉列表中选择Particle Systems(粒子系统)选项,然后在命令面板上单击PF Source在Front视图中创建一个粒子流,其大小同水管的开口大小相当,如图1-2所示。
图1-2
3、单击Modify钮进入修改命令面板中,在“Emission(发射)”卷展栏上,将“Icon Type(图标类型)”设置为“Circle(圆形)”,并将“Diameter(直径)”设置为20,此时观察摄影机视图,我们会发现粒子流源的图标显示为圆形,其中有一个徽标和一个从图标中心指向外侧的箭头,然后使用鼠标拖动粒子粒子流源图标使其位于水管的开口位置,它的箭头方向应该指向管道的内部,如图1-3所示。
图1-3
4、在场景中首先选定粒子流源图标,然后按下键盘上的6键或者是在Modify(修改)命令面板中单击Particle View(粒子视图)以打开粒子视图设置窗口,此时将按照默认排列打开“粒子视图”编辑器,在“Particle View(粒子视图)”中,打开“Options(选项)”菜单并选择 “Track Up Date(跟踪更新)”>“Particle Count(粒子数)”,如图1-4所示。此时在每个事件的上方将会出现一个数字,这是查看流中的粒子如何穿过事件的有效方法。现在我们如果拖动时间滑块会发现选项卡上的粒子数也就是数字会随时进行更新。在全局事件 (PF Source 01) 显示的是流中的粒子的总数,此处它与“Event 01”中的粒子数相同。需要说明的是,在事件当中的每一项上都有一些信息列出在操作名称旁边的圆括号内,通过它我们可以快速的知道我们的操作设置。比如说,在“Birth”操作符旁的括号内显示为:“Birth01 (0-30 T:200)”。这表示它是设置为从第 0 帧至第30帧发射总计200个粒子的“Birth”操作符。我们可以通过单击“Birth”操作符显示参数命令面板来检查其设置。在Particle View(粒子视图)中,“PF Source01”事件是初始事件,它仅仅包含一个“Render”操作符,这是由于它充当了全局事件,即定义整个粒子流而不是单个事件和操作符的特性,在此事件中的所有的操作符都全局应用于所有的事件。
图1-4
5、将“Display”操作符移动到“PF Source01”事件当中。使用鼠标拖动的方法将“Display”操作符从“Event 01”拖动到“PF Source01”事件中,以便无论粒子处于哪个事件中,都将始终使用相同的显示方式,如图1-5所示。
图1-5
6、在菜单栏上单击选择“Options(选项)”菜单 >“Default Display(默认显示)”>“Global(全局)”,使用此选项将会避免“Particle View(粒子视图)”为每个事件创建新的和唯一的“Display”操作符,如图1-6所示。
图1-6
7、粒子参数设置。在Particle View(粒子视图)当中,首先右键单击“Event01”的名称,在弹出的菜单当中选择“Rename(重命名)”并输入Emitter,如图1-7所示。
图1-7
8、在Particle View(粒子视图)当中,单击Emitter事件当中的“Birth”操作符,然后在其右侧的参数命令面板上将“发射停止”值更改为600,然后删除“Speed”、“Rotation”和“Shape”操作符,如图1-8所示。此时如果播放动画,我们将会看到粒子出现在粒子流源图标上,但是并没有运动。这是因为在“Emitter”事件当中,粒子的位置是由“Position Icon”操作符来定义的,从而将粒子设置为使用粒子流源图标的体积。
图1-8
9、创建粒子的运动。这里我们将使用“Speed By Icon”操作符和路径约束来定义粒子沿样条曲线穿水管主体的运动。在事件当中,我们将会用到“Speed By Icon”操作符,它可以指定粒子速度:即,速度和方向。同时我们通过使用“Speed By Icon”操作符,还可运用多种控件来实现沿着不同的曲线运动的粒子效果。在Particle View(粒子视图)当中,从仓库中拖动“Speed By Icon”操作符到“Emitter”事件的底部,如图1-9所示。添加完“Speed By Icon”操作符后,在场景的世界坐标系原点(0,0,0)处将会自动创建一个新的名为“Speed By Icon01”的辅助对象,如果我们对此图标设置动画,那么粒子就可以继承其运动。
图1-9
10、在视图当中选择“Speed By Icon01”的辅助对象,然后在主菜单中选择“Animation(动画)”>“Constraints(约束)”>“Path Constraint(路径约束)”,此时在视图中移动鼠标,我们可以看见类似橡皮筋的虚线将图标与鼠标光标连接起来,此时软件正在请求要跟随的路径即样条曲线,在视图当中,我们单击水管中心的样条曲线Line01。选择“Speed By Icon01”的辅助对象,然后在“Motion(运动)”命令面板上,在Path Opations(路径参数)”卷展栏上,勾选Follow项,然后在Axis(轴)选项上,勾选z轴。
图1-10
11、在“Particle View(粒子视图)”当中,单击“Speed By Icon01”操作符,然后在其右侧的参数命令面板上的“Icon Animation(图标动画)”组中,确保选项为“Event Duration (事件期间)”处于活动状态,这样“Speed By Icon 01”图标就在在动画期间被约束到了“Line01”样条曲线上,并且与样条线垂直,如果此时播放动画,我们会看见粒子明显跟随“Speed By Icon01”辅助对象运动,如图1-11所示。
图1-11
12、将粒子转换为箭头。当前在粒子视图当中只包含“Render”和“Display”操作符,但是我们没有指定给粒子形状,因此,粒子在视图当中显示为任意形状,我们可以使用“Display”操作符来更改粒子的显示的方式。我们将通过使用“Shape Instance”和“Display”操作符来使粒子在场景中显示为箭头形状。首先单击“Display”操作符,然后在其右侧的参数命令面板上将 “Type(类型)”更改为“Geometry(几何体)”,如图1-12所示。
图1-12
13、在Particle View(粒子视图)当中,从仓库中将“Shape Instance”操作符拖入“Emitter”事件当中的任意位置,在放置的时候要确保在蓝线出现时才能将其放置,“Shape Instance”操作符允许我们将场景中的网格对象用作粒子,如图1-13所示。
图1-13
14、在Particle View(粒子视图)当中,单击“Emitter”事件中当中的“Shape Instance”操作符,然后在其右侧的参数命令面板上,单击“Particle Geometry Object(粒子几何体对象)”下的NONE按钮,然后在场景中单击选择箭头对象,此时箭头名称将会出现在按钮上,勾选Scale(缩放)选项,设置其值为100,如图1-14所示。
图1-14
15、调整箭头的对齐。在Particle View(粒子视图)当中,从仓库中拖动“Rotation”操作符到“Emitter”事件的底部,我们通过使用该操作符来指定事件中粒子的方向。首先单击“Rotation”操作符,然后在其右侧的参数命令面板上将“方向矩阵”设置更改为“速度空间跟随”,然后将“X”值设置为 90.0,将Y轴设置为180,这样就强制粒子的方向始终为移动方向。粒子流提供了两种速度空间方法:“速度空间”在每个粒子首次进入事件时设置一次方向,而“速度空间跟随”在粒子穿过场景时持续调整方向。现在播放动画,我们会看见箭头正沿首“Line01”样条线正确移动。如图1-15所示。
图1-15
16、创建分支路径。粒子流功能的强大还体现在它可以创建由条件控制的分支事件,这里我们将使用“Find Target(目标测试)”来进行此项操作,它是一个条件测试,该条件下软件将会持续的检查每个粒子是否符合我们设定的条件,当测试条件为假时,粒子保留在当前事件中,当测试结果为真时,则粒子移动到指定不同行为的另外一个事件当中。在Particle View(粒子视图)当中,从仓库中拖动“Find Target”测试到“Emitter”事件的底部,如图1-16所示。
图1-16
17、单击“Find Target”操作符,在其右侧的参数命令面板上,在Find Target卷展栏的下拉列表中选择“No Control(无控制)”,这将禁用测试的大多数参数,在我们创建“Find Target”测试时,它会自动将名称为“Find Target01”的辅助对象添加至场景当中,现在它就是事件当中粒子的目标,软件将会根据每个粒子“Find Target01”的辅助对象的距离对每个粒子进行测试。在“Find Target”测试参数中,将“Test True If Distance To(测试真, 如到以下项的距离)”选项设置为“Target Pivot(目标轴)”,并将“Is Less Than(小于)”值设置为 5.0,如图1-17所示。
图1-17
18、在Particle View(粒子视图)当中,从仓库中拖动“Speed By Icon”到空白处建立一个新的事件,我们将把它作为“Find Target”测试输出所要连接的事件,首先将此新事件重新命名为 Flowh,然后将鼠标光标移动至“Find target0
0
顶一下
0
踩一下