Different ways of setting up navigation

Golaem provides various way of making your characters navigate in a scene. This page provides an overview of the different methods and redirect you to the in-details tutorials.

The Navigation and Goto behaviors rely on Golaem path-finding & avoidance technologies to make your characters find their way in your scene and avoid other characters. They are very quick to setup and can be easily customized (e.g speed, targets, ...).

This is the "standard" way of setting up navigation with Golaem. Other methods are generally fitted to a few particular use case.

Pros & cons:

For an example, see Populating city streets with Golaem

Vector fields

While the Navigation and Goto behaviors are very handy, sometimes you want to control very precisely the trajectories in a given location of your environment. In these cases, Vector Fields can be a useful addition to a Navigation/Goto behaviors setup.

For an example, see Driving Entities with Vector Fields

SetFormation Behavior

The Navigation/Goto Behavior will make your characters navigate individually, but if you need them to navigation as a group, you need a bit of extra work. The SetFormation Behavior enables you to benefit from Navigation/Goto Behaviors while forcing characters to respect a given shape (global or per small groups). 

Pros & cons:

For examples, see Keep a formation using the SetFormation Behavior or  Create your logo with crowds

AdaptPosition Behavior

The AdaptPosition Behavior snaps your characters to another object (polygon, particles...). It is very useful when you want to keep a precise control over the character position, and may be an easier way to create a formation.

Pros & cons:

For example, see Keeping a formation using AdaptPositionBehavior

Maya tools (fields, particle goals, nParticles)

Golaem characters are linked to a standard Maya particle (or nParticle) system. It means that you can control the move of these particles (hence of your characters) by using all the usual Maya tools.

Pros & cons:

For examples, see Drive Entities with nParticles or Driving Entities with Maya Fields

Character Controller

Sometimes you do not really care about your character finding their paths (e.g you just want to play a "run forward" motion), but you still want them to avoid people in front of them. The character controller approximates Entities to capsules, then detects and resolves collisions the same way it would be done with nParticles. The very difference is that nParticles drive your character. Character Controller only reacts to collision but lets the Motion Behavior drive characters.

Pros & cons:

For an example, see Using the CharacterController Behavior for avoidance

Flock Behavior

The flock behavior is more suited to spaceships, birds or fishes. It makes your characters navigate in 3D, not just on a ground and computes the trajectories of your characters so that they can avoid each others while staying together as a pack.

Pros & cons:

For examples, see Flocking Tutorials