1、我们还是先看一下最终的效果图下面来介绍流程。首先,我们创建一个 plane,点击 Create / Polygon Primitives / Plane box,开启 polygon plane options 窗口,设置如图二所示:我这里只是为了方便,大家可以尝试不同的数值,但有一点要说明的是,下一步所要创建粒子的个数是与你所建立的这个平面的顶点数是一致的。好的,我们开启 Poly Count 显示,我们可以看到其顶点个数,我这里刚好是 100。现在建立粒子。点击 Particle tool box,在 Number of particles 中设置数值,也就是你所建立平面的顶点个数,我这里
2、是 100,在视图中点击左键,按回车键确认。在粒子选择的情况下,按 SHIFT,点选平面,选择菜单 Particles/Goal ,为其建立目标。播放动画看一下,粒子被全部依附到平面上,保持其选择状态,选择菜单 Solvers/Initial State/Set for selected,这样就设置了粒子的初始状态。把平面隐藏吧,我们暂且不需要它了。接下来,我们再建立一个 polygon cube 物体,设置如图三,保持 pCube1 的选择状态,按 SHIFT 键点选粒子,点选菜单 Particles/Instancer(replacement),把这个 CUBE 也隐藏吧。到此为止,我们的
3、准备工作已经完成了。场景如图四所示:图 4选择粒子,在属性窗口中找到 Add dynamic Attributes 卷展栏,点击 general 按钮,为其建立一个名为 cyclePP 的动态属性,设置如图五。这样,在 per particle(array) attributes 卷展栏中大家可以看到新增的这个属性。点右键,选 Runtime Expression,写入如下表达式:particleShape1.cyclePP=(floor(particleShape1.particleId/10)+particleShape1.particleId)/10+time)%1选择粒子,我们再为其建
4、立一个名为 rampPP 的动态属性,设置与上次相同。点击右键,选择 Create Ramp,再次点击右键,选择, -arrayMapper1.outValuePP/Edit Ramp,设置如图六所示:选择粒子,在属性窗口中找到 lifespan attributes(see also per-particle tab)卷展栏,设置 lifespan Mode 属性为 live forever。打开 Hypergraph 窗口,选择 particle1 节点,点击菜单 graph/input and output connections,用中键拖动 particleShape1 节点到arrayMapper1 节点之上,松开鼠标,选 Other.于是调出 Connection Editor 窗口,连接cyclePP 和 vcoordPP 两属性,如图七所示:关闭窗口。保持粒子选择状态,在属性窗口中找到 instancer (geometry replacement)卷展栏,激活 allow all data types 属性,设置 Visibility 为 rampPP。最后按播放键看效果吧