最终效果
 
 
在Front视图建立一个nurbs的plane,然后拉点做成鱼的形状,命名为fish,保证鱼头的方向是x轴正向,脊背的方
 向为y轴正向。如图1
 
  
将变形器sine1的Amplitude值设为0.3(这个值决定鱼左右摆动的幅度),给Offset值做表达
 式sine1.offset=frame/20 ,播放动画,如果鱼头的动作不对则在frame前加负号,如果鱼的左右摆动速度太慢,
 则将分母20缩少为10或更小,wavelength值设为2。如图3。
 给鱼(Fish)和sine变形器打一个组,命名为fish_grp
 
在YZ座标平面内建一个Nurbs的Plane,命名为emit_fish,然后做Particles>Emit from Object,发射方式为surface

  
[page]
  
选择fish_grp,做Particles>Instancer(Replacement)Option,将Rotation Options下AimDirection值设
 为Velocity,这是保证鱼头朝向运动方向的关键。如图5

播放动画将会有鱼群游出,但是运动很一致,如图6

建立一个Locator,选择粒子particle1和locator1,做Particles>Goal,(如果不做goal也可以有鱼群的运
 动,做goal是为了让鱼群有个目标体跟踪,这样的效果更好),如图7.
 给粒子加一个紊乱场Fields>Turbulence。其Magnitude值设为100,attenuation为0。
 粒子particle1的属性中,conserve值为0.9,goal smoothness为4,goal weight[0]为0.3,(注意goal active[0]
 保持on的状态)。
给locator1的运动打关键帧,鱼群就会跟随locator1运动。如图8
