PySwarm Wiki
Advertisement

Back to PIA's main page

Movement V2

Note Icon


Note: For a general discussion on PySwarm animation, movement, and motion, please refer to the following wiki page: here.



Speed Controls[]

The parameters in this group control the BOIDs' speed.


Note Icon


Note: Starting with V0.6, SPEED LIMIT is no longer a PySwarm rule, and the tab has been removed from PIA. The parameters previously defined for that rule can be found here.



Initial Speed[]

This parameter is used to initialize all BOIDs' speed (in feet per second).

Min Speed[]

Some animals need to maintain a certain speed (sharks, airplanes, birds flying). This value sets the minimum speed (in feet per second) of the BOIDs.

Max Speed[]

Objects cannot move at infinite speed, yet if you don't set a max speed value for your BOIDs, you may notice they will attempt to do this! This value sets the maximum speed (in feet per second) of the BOIDs.

Tips and Limitations[]

  1. PySwarm will warn you if Speed Limit Rule is activated and Initial Speed is not between the Min and Max Speed settings. If you choose to continue, PySwarm will immediately clip BOIDs' speed to be within the Min and Max Speed settings.
  2. If you are initializing BOIDs' heading to "Current BOID Heading," you should set the Initial Speed value to something other than 0.0, so that an initial velocity vector will be created; otherwise, PySwarm will lose the BOIDs' current heading vector.
  3. Initial Speed is also used to initialize the speed of BOIDs that are exiting LANDED mode.

Heading/Pitch Controls[]

Heading and pitch control parameters limit BOID movement by restricting turning and up/down motion.


Note Icon


Note: Starting with V0.6, MAX TURN is no longer a PySwarm rule, and the tab has been removed from PIA. The parameters previously defined for that rule can be found here.



Max Hdg (Heading) Change[]

This value sets the BOIDs' maximum turning angle (in degrees per second). For example, setting this value to 180 (degrees) with fps (keyframes per second) set at 10, BOID turning is limited to 18 (180 / 10) degrees per keyframe.

Min Pitch and Max Pitch[]

You can now limit the minimum and maximum pitching angles for BOIDs. These controls are NOT about the angle BOIDs take when they are in a climb or dive; they actually limit the angle BOIDs can climb or dive. For example, a Min Pitch value of -30 degrees will prevent BOIDs from diving at an angle more than this (e.g., a nose dive). Min and max pitch are in degrees and must be between -90 and +90 degrees.

Max Vel Change[]

Most real objects cannot go from a stationary position (no velocity) to a high speed instantaneously. This value limits the amount of change in velocity BOIDs can exhibit (measured in feet per second per second).

Tips and Limitations[]

  1. The key difference between these parameters is that Max Hdg Change only looks at the heading change of the BOID (in the x,y plane). It does not (currently) consider the change in pitch (up/down) in this calculation. Min and max pitch values are used for this. Max Vel Change does not consider whether the BOID is moving up, down, left or right. It is a general limitation parameter.

Bank & Pitch Effect Controls[]

PySwarm calculates banking angles for BOIDs based on their change in heading. The greater the change in heading, the greater the banking effect. , tilting the BOIDs to simulating banking or rolling. However, in some situations, you don’t want banking – for example, people walking do not bank when they turn. Check this parameter to turn ON banking effects.


Note Icon


Note: The parameters in this area are EFFECTS of movement, not the other way around. That is, changing these values will only alter how the BOIDs respond to their movement; they don't limit or control movement in any way.



Banking Factor[]

Max Bank Angle[]

Pitching Factor[]

Tips and Limitations[]

2D Movement[]

Limit to 2D (x,y) Motion[]

Checking this parameter tells PySwarm you want to limit all BOID motion to the x,y plane.

2D Height[]

If the Limit 2D Motion parameter is checked, PySwarm will use this value to set the height (Z axis) for all BOIDs during the animation sequence. 

Tips and Limitations[]

  1. PySwarm will warn you if Speed Limit Rule is activated and Initial Speed is not between the Min and Max Speed settings. If you choose to continue, PySwarm will immediately clip BOIDs' speed to be within the Min and Max Speed settings.
  2. Initial Speed is also used to initialize the speed of BOIDs that are exiting LANDED mode.
  3. If Cohesion and Alignment Rules are not activated, the "Localize Rules" parameter will not have any effect.
  4. If you use Limit 2D Motion while initializing the BOIDs using current location, PySwarm will reset the BOIDs’ z-axis value with Initial Height (but will not adjust the x- or y-axes).

Limit to 2D (x,y) Motion[]

Checking this parameter tells PySwarm you want to limit all BOID motion to the x,y plane.

2D Height[]

If the Limit 2D Motion parameter is checked, PySwarm will use this value to set the height (Z axis) for all BOIDs during the animation sequence. 

Tips and Limitations[]

  1. If you use Limit 2D Motion while initializing the BOIDs using current location, PySwarm will reset the BOIDs’ z-axis value with Initial Height (but will not adjust the x- or y-axes).

Rule Effect Controls[]

In most real-life situations, individuals in a group do not change their behavior based on EVERY other individual's behavior. This limitations is often due to limited visibility (sight), but other senses can cause this limitation. The parameters in this group allow you to simulate the effects of localization.

Localize Rules[]

When checked, this will force PySwarm to only allow each BOID to be affected by other BOIDs in close proximity.

Radius[]

If Localize Rules is checked, this value is the radius (in feet) that affects each BOID's Cohesion and Alignment rules.

Tips and Limitations[]

  1. Currently, only Cohesion and Alignment are affected by these settings. As a result, if Cohesion and Alignment Rules are not activated, the "Localize Rules" parameter will not have any effect on the simulation.
Advertisement