thinkingParticles的强大之处不仅体现在其拥有丰富的控制器,可制作各种不同类型的粒子特效,还体现在其动力组功能的强大性。通过运用动力学组之间的交互功能,我们还可以制作更加复杂的粒子特效。
动力学组的交互一般会包含粒子组的定义与交互作用两部分。本文会先介绍粒子组的定义,并会将演示中的粒子组定义为从球体出生的粒子。
一、创建主控系统与动力学组
首先,如图2所示,在thinkingParticles的主控系统中创建粒子组1与粒子组2,便于后续定义粒子组使用。
接着,如图3所示,在thinkingParticles动力学组中创建两个动力学组,分别是“定义粒子”与“交互”。
然后,如图4所示,选中“定义粒子”动力学组,并在右侧的参数面板中将其组别(Group)调整为1(即主控系统中的粒子组1)。
二、制作粒子从球体出生
完成以上设置后,接下来,我们将进行粒子组1的定义。
如图5所示,先使用3ds MAX的创建图形工具,创建一个球体。
然后,打开thinkingParticles的操作面板,如图6所示,在 “定义粒子”动力学组的节点编辑区创建Node节点(Helpers-Standard-Node),该节点可用于定义3ds MAX的对象。
完成Node节点的创建后,单击其右侧参数面板中的“拾取对象”按钮。
然后,返回3ds MAX的编辑区,如图7所示,点击一下球体即可完成对象的拾取。
球体拾取成功后,如图8所示,“拾取对象”按钮会变成拾取的对象名称。
完成球体的拾取后,如图9所示,创建SurfacePos节点(Helpers-Position-SurfacePos),该节点可获取所选对象的表面信息,以控制粒子在对象表面如何分布。同时,在节点的参数面板选择“表面(Face)”。
完成SurfucePos节点的创建后,如图10所示,将Node节点的Node输出端口与SurfucePos节点的Node输入端口相连接。
最后,如图11所示,创建PositionBorn节点(Operator-Generator-PositionBorn),并将其Position输入端口与SurfucePos节点的Position输出端口连接,即可将球体的表面信息传输到PositionBorn节点。
由于我们制作的特效是用于定义粒子组1的,因此,如图12所示,需要在PositionBorn节点的参数列表中将其组别(Group)调整为粒子组1。另外,也可以调整一下粒子的数量、年龄等增强效果。
完成以上设置后,我们就可以获得如图13所示的“粒子从球体出生”的效果,同时,也定义了粒子组1。
三、小结
综上所述,通过使用thinkingParticles动力学组的组别(Group)选项,可为不同动力学组赋予不同的粒子组,而在这些动力学组制作的效果,也起到定义动力学组的作用,可用于动力学组之间的交互。
在《如何实现 thinkingParticles动力学组之间的交互(实现交互)》一文中,我们会继续讲解交互功能的实现。感兴趣的话,可前往thinkingParticles中文网站。