Surface Follow Behavior

Create panel > Helpers > Object Type rollout > Crowd > Setup rollout > New button > Surface Follow Behavior

Select a Crowd object. > Modify panel > Setup rollout > New button > Surface Follow Behavior

The Surface Follow behavior moves delegates with respect to object surfaces, which can be still or animated. For example, you can apply an animated Noise modifier to a patch grid to simulate a choppy water surface, and objects guided by Surface Follow will stay on top.

Note: By default, a delegate influenced by Surface Follow picks a direction to move in at any given frame based on its current facing and the plane of the face it's currently over. Thus objects moving up a hill, while seeking a point at the bottom of the other side of the hill, tend to turn left or right to skirt the hill, rather than following the upward slope. You can override this with the Projection Vector option.


To use the Surface Follow behavior

  1. Add a Surface Follow behavior to the Crowd object.

  2. Add an object or objects to serve as the follow surface to the scene.

    Note: If you use multiple objects, they must intersect to form a contiguous surface. Each delegate will move to the closest surface, follow it to the next closest that it encounters, and then start following that one, and so on.

  3. In the Surface Follow Behavior rollout, use the None button or the Multiple Selection button to designate the object or objects whose surface(s) the assignees are to follow.

  4. Change the default settings as desired.

  5. Use Behavior Assignments to assign the behavior to a delegate or team.


Surface Follow Behavior rollout

None (label): Specifies a single "target" object to use as a surface. Click this button, and then click the target object in the viewport. The target name then appears on the button.

If you've selected multiple targets using Multiple Selection (see next item), the word Multiple appears on the button. To see which objects are designated as targets, click the Multiple Selection button. The Select dialog appears with designated targets highlighted.

Multiple Selection: Opens the Select dialog to let you designate multiple targets. When you have more than one target, delegates initially move toward the closest target in the group, and then move over its surface until they encounter another target, at which point they switch to its surface, and so on.

Projection Vector group

These controls let you override the default direction calculated by the Surface Follow behavior by describing a virtual plane along which the delegate is to move. You do this by specifying a vector, in world coordinates, that's perpendicular to the desired virtual plane.

For example, if you want the delegate, when it encounters a hill, to keep moving forward, straight up and over the hill, instead of skirting it, you would use the default Projection Vector settings: X=Y=0, Z=1. This vector is aligned with the world Z (vertical) axis, so it specifies a plane parallel to the world XY plane. Thus, the delegate always moves straight ahead while following the surface.

Use Projection: When on, Surface Follow calculates delegate direction from the specified vector, rather than using the default.

X/Y/Z: Specifies a vector using world coordinates. Default=X=Y=0, Z=1. Range=-1.0 to 1.0.

If only one of these settings is not 0, then the projection vector is aligned with the non-zero axis. Combine non-zero settings to create angled planes for Surface Follow. For example, to create a virtual plane that's rotated 45 degrees clockwise about world Y axis, set X=Z=1 and Y=0. Also, while you can set all three axes to 0, that specifies no vector, and so effectively turns off Use Projection.

Position on Surface group

Offset: Specifies the delegate's distance above the surface, using the surface normal. Recalculated at each frame.

Display Offset: When on, shows the Offset distance as lines emanating from each vertex in the surface object, perpendicular to the surface.

Color Swatch: Shows the color used to draw the Surface Follow target (see Display Target, next) during the solution. Click the box to choose a different color.

Display Target: When on, the interim goal for each delegate influenced by the Surface Follow behavior is drawn in the viewports as a wireframe sphere during the simulation solution.

If the delegate starts out away from the surface to be followed, the target is most visible before the delegate reaches the surface; the target is then positioned along the surface edge. While the delegate is actually following the surface, the target is usually coincident with the delegate, because Surface follow sets a new destination only a frame or two ahead.