Flocking Modifier (Dynamic)

The Flocking Modifier has been completely rewritten with many new features, and is now found in the Dynamics section of the X-Particles menus, not among the modifiers.

Interface

The Flocking object has a set of common properties but it is possiel to add three types of modifying actions which are combined to give the final result. Without at least one behavior, reaction or avoidance the object wil do nothing.

For the 'Falloff' tab and for the buttons at the bottom of the interface, please see the 'Common interface elements' page.

Common properties

Enabled

Uncheck this switch to disable the Flocking object.

Type

This object has two modes of operation, which are controlled here. The options are:

Velocity

This is the default mode. Here, the Flocking modifier takes complete control of the particle movement and if you add another modifier which also influences particle speed and direction (e.g. Turbulence) you will find that it has little or no effect on the particle.

Force

In this mode the change in velocity caused by this modifier contributes to, but does not control, the final particle velocity. Adding a modifier such as Wind or Turbulence will also contribute to the final result. This is the mode to use if you want to add some other kind of movement to the particle as well as rthe flocking effect.

Min Speed, Max Speed

These are the minimum and maximum speeds that a particle may have when affected by this modifier.

Flocking Weight

This is the overall strength of the complete effect, including the result of any behaviors, reactions, or avoidance.

Behaviors

The behaviors have different effects on the particle motion. You can add as many behaviors to the 'Behavior Items' list as you like and they are blended together to give the final result.

Add Behavior

Select the behavior you want using this menu button.

Behavior Items

The list of behaviors in use. You can temporarily disable a behavior by unchecking the checkbox next to the behavior's name. To delete a behavior, select it and press the Delete key, or right-click it and select 'Remove' or 'Remove All' from the context menu.

The available behaviors are as follows. Each has its own set of options which are shown when the behavior is selected in the 'Behavior Items' list.

Alignment

This behavior causes the particle velocity (speed and direction) to change to match the average velocity of other nearby particles in the flock. 'Nearby' particles are defined by the particle radius and/or the 'Velocity Matching Radius' setting.

Use Particle Radius

If this switch is checked, the particle radius is combined with the 'Velocity Matching Radius' when determining which other particles should be included in the calculation of the average velocity of the particle's neighbours.

Velocity Matching Radius

This value is used to determine which other particles are neighbours and should be included in the calculation of the average velocity. It is combined with the particle's radius if 'Use Particle Radius' is checked.

Velocity Speed

Only available if the modifier 'Type' value is set to 'Force'. Increasing this value will increase the speed with which the velocities are aligned.

Velocity Matching Weight

The strength of the velocity matching effect.

Center Velocity Speed

Only available if the modifier 'Type' value is set to 'Force'. It will have no effect unless 'Center Velocity Weight' is greater than zero, and then it will increase the speed with which the velocities from all particles from the same emitter are aligned.

Center Velocity Weight

If greater than zero, this will match the velocities of all the particles from the same emitter, evern if they fall outside of the 'neighbour' radius.

Separation

This behavior caues the particles to maintain a distance from other nearby particles in the flock. 'Nearby' particles are defined by the particle radius and/or the 'Separation Radius' setting.

Use Particle Radius

If this switch is checked, the particle radius is combined with the 'Separation Radius' value.

Separation Radius

This value is the distance that should be kept between a particle and its neighbours. It is combined with the particle's radius if 'Use Particle Radius' is checked.

Separation Speed

Only available if the modifier 'Type' value is set to 'Force'. Increasing this value will increase the speed with which the position changes to maintain distance.

Separation Weight

The strengthof the separation effect.

Resolve Particle-Particle Collisions

This is a simple check to move particles away from one another if they are intersecting.

Cohesion

The Cohesion behavior makes particles draw together. Particles which are closer than the Cohesion Radius value and/or the particle radius will draw closer together.

Use Particle Radius

If this switch is checked, the particle radius is combined with the 'Cohesion Radius' value.

Cohesion Radius

Particles which are closer together than this value will be drawn together. t is combined with the particle's radius if 'Use Particle Radius' is checked.

Cohesion Speed

Only available if the modifier 'Type' value is set to 'Force'. Increasing this value will increase the speed with which the particles converge.

Position Matching Weight

The strength of the effect in changing the particle's position.

Mass Matching Weight

The particles can be moved to the average centre of mass using this parameter. It is set to zero by default, so the centre of mass of the particles is not taken into account, but you can use this as well as or instead of the average centre position if desired,

Center Position Speed

Only available if the modifier 'Type' value is set to 'Force'. It will have no effect unless 'Center Position Weight' is greater than zero, and then it will increase the speed with which the positions from all particles from the same emitter converge.

Center Position Weight

If greater than zero, this will converge the positions of all the particles from the same emitter, evern if they fall outside of the cohesion radius.

Chaos

This behavior introduces some chaotic movement into the particles.

Chaos Scale, Chaos Frequency

These values alter the underlying turbulence which is applied to the movement. They have the same effect as in the Turbulence modifier.

Chaos Multiplier

Multiplies the force generating the chaotic movement. The higher the value, the greater the change in velocity.

Chaos Weight

The strength of the chaos effect.

Periphery

This behavior is used in conjunction with other behaviors such as Alignment or Cohesion. A particle will then only be affected by other particles which are within its field of vision.

Peripheral Vision Angle

The field of vision applied to the particle.

Swarming

This behavior makes separate emitters or particle groups tend to congregate with others in the same group or from the same emitter, while remaining part of a flock. It requires at least two emitters or two particle groups, which must be added to the 'Swarming Emitters' (or 'Swarming Groups') list.

Enable Swarming

Uncheck this switch to disable swarming.

Others Make Me Happy

If unchecked, neighbouring particles from the same emitter (or group) make the particle 'happy'. If it is checked, particles from different emitters (or groups) make it happy. 'Happiness' is a state which affects particle movement; a particle can either be happy or unhappy.

Use Particle Radius

If checked, the particle radius is combined with the value in 'Neighbour Radius'.

Neighbour Radius

This is the radius around the particle to be searched for neighbouring particles. It is combined with the particle radius if 'Use Particle Radius' is checked.

Happiness Ratio

This value determines when a particle becomes 'happy. For example, if set at 50% and the percentage of neighbouring particles from the same emitter or group is greater than 50%, then it will be happy. If you set this too low, most particles will be happy and if 'Speed When Happy' is low, which it is by default, they won't move very quickly. But if you set it too high, all the particles may be unhappy and with the default settings may move too fast.

Speed When Happy, Speed When Unhappy

The speed of the particle when it is happy or unhappy, respectively.

Type

You can select whether to use different emitters or different groups from the same emitter with this menu.

Swarming Emitters (or Swarming Groups)

Drag the emitters or particle groups to use into this list.

Natural Limits

This behavior is intended to stop the flipping of a particle which can occur when it chases another particle and makes a sharp direction change. It is intended to help reproduce the behavior of predators such as a shark chasing a shoal of fish.

Enable Natural Limits

Uncheck this switch to disable the behavior.

Maximum Angle

This is the maximum angle which a particle is allowed to change within a frame.

Blend Percentage

The previous frame's direction and the new frame's direction can be interpolated to make movement smoother and more natural. This setting controls the amount of blending between frames.

Reactions

Reactions cause the particle to react to a variety of stimuli or reactors - they can be made to move towards an object, flee from it, etc.

Note that each reactor will create a new object in the object manager as a child object of the Flocking object.

Reactions Weight

The overall strength of all reactors. Setting this to zero will mean no effect from any reactor.

Add Reaction

Select the rector you want to add using this menu button.

Reaction Items

The list of reactors in use. You can temporarily disable a reactor by unchecking the checkbox next to the reactor's name. To delete a reactor, select it and press the Delete key, or right-click it and select 'Remove' or 'Remove All' from the context menu.

Note that removing the reactor from this list does not delete the reactor object from the scene. If you want to use the reactor again, simply drag it back into this list.

The available reactors are as follows. Each has its own set of options which are shown when the reaction is selected in the 'Reaction Items' list.

Common properties

All reactors have this set of common properties:

Enabled

Uncheck this switch to disable the reactor.

Flock Reaction Weight

The strength of this reactor; does not affect other reactors in the list.

Display

Choose the viewport representation of the reactor from this list. The options are:

  • Sphere
  • Box
  • Cross
  • None

If 'Activation Range' is set to 'Distance' the size of the display shows the active area of the reactor.

Activation Range

The reactor can either be active at any distance or only within a specific distance. The options are:

Distance

The reactor acts on a particle if that particle is within the 'Distance' setting of the reactor.

Infinite

The reactor is active at any distance from a particle. Note that this does not alter the viewport representation of the reactor but the size of the sphere, box, etc. has no meaning.

Distance

The distance to use when 'Activation Range' is set to 'Distance'.

Timing Mode

This menu controls when the reactor is active. There are several options:

Always

The reactor is always active.

Before

The reactor is only active before the time in the 'At Frame' setting.

After

The reactor is only active after the time in the 'At Frame' setting.

On

The reactor is only active at the time before the time in the 'At Frame' setting and not before or after.

Pulse

The reactor will become active each mutliple of the time in the 'At Frame' setting. For example, if 'At Frame' is set to 10, the reactor will work on frames 10, 20, 30, etc. but not at other times.

Between

The reactor is active between the times given in the 'At Frame' and 'To Frame' settings.

At Frame, To Frame

Time settings used for the 'Timing Mode' options.

Pursuit reactor

Particles will pursue the object or other particles.

Pursuit Type

The pursuit reactor can operate in several ways. In all cases except 'Static Position' the reactor requires two or emitters - one or more which are the pursuers, and one or more which are the ones being chased. If required you can use particle groups instead of emitters, in which case you will need at least two groups.

In this reactor, the particles which are pursuing should be added to the 'Friendly Emitter List' (or 'Friendly Group List'). Those being chased should be added to the 'Enemy Emitter List' (or 'Enemy Group List').

Static Position

This does not require another emitter. The particles simply chase after the Pursuit object, which can be animated if desired.

Center Position

The pursuing particles aim for the average position of all the chased particles.

Center of Mass

The pursuing particles aim for the average center of mass of all the chased particles.

First

The pursuing particles chase the first of the chased particles.

Last

The pursuing particles chase the last the chased particles.

Nearest

Each of the pursuing particles chases the nearest chased particle to itself.

Mode

With this menu you can opt to use separate emitters or different groups.

Pursuit Offset

You can use this to offset the target point for the pursuing particles.

Distance

Only available if 'Pursuit Type' is set to 'Nearest'. A pursuing particle must be within this distance of a chased particle for it to chase that particle. If the distance subsquently exceeds this value, chasing will stop.

Friendly Emitter List (or Friendly Group List)

Drag the emitter(s) or particle groups that are to do the chasing into this list.

Enemy Emitter List (or Enemy Group List)

Drag the emitter(s) or particle groups that are to be chased into this list.

Flee reactor

This reactor is the same as the 'Pursuit' reactor except that the 'friendly particles' are those being chased, and will try to evade the pursuer. The 'enemy particles' are those doing the chasing. As with the 'Pursuit' reactor, the particles will feel from the Flee object itself if you set 'Pursuit Type' to 'Static Position'.

For details, see the 'Pursuit reactor' section above.

Arrive reactor

Particles will move towards the object and slow down as they get closer.

Speed

The particle speed will be changed to this value as they enter the activation range of the reactor, then slow down to nearly zero when they arrive at the object.

Orbit reactor

Particles will orbit around the object.

Strength

The strength which the object exerts on the particles to make them orbit. The higher this value, the faster the particles will orbit.

Avoidance

The particles will avoid objects dragged into the 'Avoid Items' list.

Weight

The overall strengh of the avoidance effect.

Distance

Particles must be closer to the object than this distance before starting to move to avoid it.

Mode

This menu controls how the particles avoid the object. The options are:

Soft

The particles will move to flow around an object but not move away from it.

Hard

The particles will move strongly away from the object almost as if they had rebounded from it.

Avoid Items

Drag the objects in the scene to be avoided into this list.