对于黑客帝国中子弹拖出类似水波的弹道的镜头想必大家都不陌生,那么,怎样可以实现这样的效果呢?在3ds max中,使用粒子流就可以做到,而且操作过程相当简单。我们将把子弹作为粒子源发射出来的粒子,同时为其添加spawn操作器来生成尾迹,然后为尾迹设置类似玻璃的材质来得到效果。我们将在静态场景中制作这个动画效果,当然你也可以使用摄影机匹配将其和动态的真实场景进行合成,那样效果就更加逼真了。
本教程实例源文件下载 最终效果视频文件(wmv格式) 1、最终效果和实现方法

| 效果 |
实现方法 |
| 子弹掠过 |
使用shape instance将粒子源发射的粒子用子弹物体替换 |
| 尾迹 |
使用spawn操作器,并将发射出来的粒子用shape instance替换为波纹物体 |
| 波纹产生之后逐渐增大 |
使用scale操作器并为其设置动画 |
| 尾迹类似水波纹的材质 |
使用raytrace材质 | |
 |
1、子弹掠过
1)在3dsmax中打开create(创建)->geometry(几何体)->particle system(粒子系统),单击pf source,并在前视图中拖动建立粒子源的发射器。(注意,示例场景中已经包含了一个子弹物体,名称为bullet)

2)按6键打开粒子视图,将系统自动建立的事件event01命名为“子弹_event”,并拖放一个shape instance操作器放入其中。我们将会把这个事件中产生的例子用子弹物体的实例替换,从而形成子弹飞行的效果。
3)选择shape instance操作器,在其属性面板中,单击none按钮,然后选择场景中的物体bullet。

4)分别选择birth和speed操作器,其属性面板中的参数的含义已经多次介绍,不过这里还要解释一下在这个例子中他们代表的含义。birth中的amount设置为较小的参数,它代表在整个动画中会出现几发子弹。speed中的speed参数代表子弹的飞行速度,一般设置为较大的值,不过如果你希望看到“慢镜头”的效果,也可以用较小的值。


5)现在播放一下动画看子弹的飞行是否正常。在很多情况下可能会出现子弹的弹头指向错误的现象,比如下图中子弹的弹头方向正好反了。这时我们需要使用rotation操作器,在其属性面板中设置x轴向旋转180度(也许你在操作中旋转的方向和角度会略有不同)。


2、尾迹物体
在粒子流的特效制作中,凡是需要制作粒子尾迹的,基本上都需要使用spawn操作器。这个操作器有一个输出,我们将把这个输出交给另外一个事件“尾迹_event”并在事件“尾迹_event”中内容使用第二个shape instance操作器将尾迹替换为几何体。所以下面我们首先来制作尾迹物体。
1)打开create(创建)->geometry(几何体),单击sphere按钮并在场景中拖动建立球体,对于他的参数设置只需要注意将segements设置为较大的参数就可以了,因为尾迹的边缘必须光滑。
2)使用工具栏上的缩放工具(快捷键ctrl+e)锁定x轴将球体压扁。

3)按住shift键拖动,释放鼠标后从弹出的对话框选择复制方式为instance,复制数量为10个左右(你可以根据具体的情况随意设置,但是不能太少)。

4)再次使用缩放工具对新建立的球体逐一锁定yz 坐标平面进行缩小,这样从侧面看形成一个纺锤体。
5)选中以上所有的物体,使用菜单“group->group”建立一个组,将其命名为“尾迹_group”。尾迹物体的制作完成了,将其拖到场景的角落里面边,我们将在后面使用。

3、尾迹产生
在上一步中我们建立了尾迹的替换物体,现在回到粒子视图中。
1)向事件“子弹_event”中拖放一个spawn操作器,在其属性面板中选择子例子产生的方式为by travel,也就是让父粒子(在这个例子中就是子弹)在飞行过程中每隔一段距离产生一个子粒子。
2)设置by travel的step size参数为10,也就是每飞行10个单位产生一个子粒子,这个参数不要设置的太小,否则会因为子粒子的数量过多会影响渲染得速度,而且效果也不见得会有多好。
3)在下面speed中选择inherited(速度继承)并设置其参数为0,这个参数设置子粒子的运动速度和父粒子速度之间的比例关系,设置为0表示子粒子产生后不移动,停留在其产生的位置。
