If you press play you can see the particles that follows the target. It has the same direction and velocity for two reasons: they don't have a initial velocity and the value of the Alignment function is too high. The Alignment function control the influence that each particle have to another one. We will learn about the script on the next page. Try to insert inside the Expression Editor (Window/Animation Editors/Expression Editor), on the Creation section this expression: vel0= <>; and try to insert on the Output Function of the Crowd Maker Setup window 0.01 for Alignment. Restart from frame 0 to see the new path of the particles. You can change the value of the attribute to obtain new particles motion.

Select the particles and press the Setup icon on the Shelf, a new window will appear. This window allows you to setup the control value of the script.

The section "Obstacle Avoidance" provides controls to setup the script that manages the interaction with the obstacles in the scene. "Cylinder Length" represents the length of an imaginary cylinder on the front of the particles, you can imagine this like a sensor. If the sensor touch's an object, this will be an obstacle and then the particle will rotate a little to avoid collision. "Cylinder Radius" represent the diameter of this sensor. "Rotation Angle" instead is the rotation angle to avoid the obstacle. It is represent in radiants (0.017 radians = 1 degree). "Separation" gives the particles the ability to interact each other to prevent the collision: the function generates a repulsive force to reject the other particle. "Visibility Radius" defines the perimeter, each particle inside this perimeter generates and receives a repulsive force. "Alignment" finally provides the ability to align the direction and the velocity of a particle with the direction and the velocity of all the particles inside the perimeter of its "Visibility Radius". This function is very useful in situation like a group of soldier that runs in a battle. In this case the path of every soldier is similar to the motion of the entire group.

The last section called "Output Function" allows to join with a weight all the functions seen before. The default values are not definitive. In general a parameter with a high value has a big influence to generate the speed and the final direction. "Seek" provides the ability to follow a target. "Scale Value" instead controls the final velocity of each particle.

Now we insert obstacles in the scene, in this version (Crowd Maker 0.5) obstacle avoidance is 2D. To speed up the script the obstacles are consider like nurbs circle, complex geometries can be placed inside a circle to approximate the shape. Every nurbs circle must have a new attribute called "radius" with the value equal to its radius. Execute Create/NURBS Primitives/Circle to create the object, create the new attribute and setup it with a correct value.