PySwarm Wiki

Back to PIA's Main Page[]

Scene parameters are those that relate to the animation of the Carrara scene

PIA Scene Tab

Time Parameters[]

Time parameters relate to the timeframe you want PySwarm to insert keyframes for BOID animation.

Start Time[]

Set this parameter to the time in the animation (in seconds) to start inserting keyframes.

End Time[]

Set this parameter to the time in the animation (in seconds) to stop inserting keyframes.

Tips and Limitations[]

  1. You can start and end the PySwarm sequence anytime in your Carrara scene. It is up to you to make sure the sequence is within your render start-end sequence.
  2. You can create more complex PySwarm sequences by segmenting your animation, changing the parameter settings between each one. For example, you could create a script for time 0.0 to 2.0 seconds with one set of parameter settings, then create another script for time 2.0 to 4.0 seconds with different settings. This will cause the BOIDs to suddenly change behavior in the middle of the animation.

Keyframe Parameters[]

Keyframe parameters relate to how PySwarm is to insert keyframes in the BOIDs' sequencer.


This value is used to tell PySwarm the frequency of inserting keyframes into the animation sequence. The value is in frames per second. A value of 10.0 will insert 10 keyframes per second for each BOID. For an animation set to render at 30 frames per second, then 1 keyframe will be inserted for every 3 frames of rendering.

Clear Keyframes at Start[]

Starting with V0.4, it is possible to run multiple PySwarm scripts for different timeframes within a single simulation. As such, you don’t want PySwarm to clear keyframes inserted in previous imports. Check this box if you want PySwarm to clear the existing keyframes before inserting new ones. If you are importing a PySwarm script multiple times (performing test runs), you will probably want to clear the keyframes.

Tips and Limitations[]

  1. I generally recommend that you set the keyframe insertion rate to be a multiple of the animation rate, though this is not necessary. For example, if you are rendering your animation at 24 frames per second, I suggest you use insertion rates of 1, 2, 3, 4, 8, 12, or 24 keyframes per second. Some BOID animations may not flow smoothly if you do not do this.
  2. You can generate keyframes greater than your animation rate (frames per second); however, I have not found this to be of any value and it consumes more memory.
  3. To insert keyframes at a rate less than 1 per second, use a fractional number. For example, using a value of 0.25 will insert a keyframe every 4 seconds.
  4. The Clear Keyframes parameter will wipe out ALL keyframes for all BOIDs if this field is checked. If you are creating your animation in segments, be sure to uncheck this parameter after the first segment.
  5. If you activate camera and camera focus manipulation (see below) and you have Clear Keyframes checked, all previously inserted keyframes for these objects will be wiped as well.
  6. Keep in mind that if are are re-running a script for an animation sequence, and you have not changed the keyframe insertion rate, PySwarm will overwrite the previous keyframes, so in such cases, it is not necessary to check the Clear Keyframes parameter.

Camera Parameters[]

Camera parameters relate to having PySwarm insert keyframes for a camera in your Carrara scene. Camera manipulation is currently limited to moving the camera relative to the BOIDs' center of mass.

Manipulate Camera[]

Check this box to activate camera manipulation.

Camera Name[]

Enter the name of your Carrara scene's camera object you wish PySwarm to track with the BOID group.

Camera Offset[]

This 3-D (x,y,z) value determines where to place the camera relative to the BOIDs' center of mass. For each keyframe inserted, the camera is repositioned (x,y,z) feet from the computed group center. The result is a camera that tracks the movement of the group. 

TIps and Limitations[]

  1. Currently, only one Carrara camera can be manipulated by PySwarm.
  2. Use larger (x,y,z) values for the Camera Offset to position the camera farther from the BOIDs' center.

Camera Focus Parameters[]

The camera focus parameters tell PySwarm to move (manipulate) a specific object in your Carrara scene. Focus manipulatin is currently limited to keeping the focus positioned at the BOIDs' center of mass. By setting your scene cameras to focus on this object, they will (generally) keep the BOIDs in the screen area. Examples of objects that make good focii are target helpers and basic (invisible) primitives.

Manipulate Focus[]

Check this box to activate focus manipulation.

Focus Name[]

Enter the name of the object that will be used to point the camera at the group.

TIps and Limitation​[]

  1. A Target Helper makes a good camera focus object, though any object in your scene will work (e.g., a primitive ball). 
  2. I recommend the Carrara object you select as the camera focus not be used for any other purpose, and that you set your focus object to invisible.
  3. Add a “Point At” modifier to the camera(s) you wish to use to track the group, and select this focus object in the “Towards” list.


You can alter the randomness of the simulation by changing the simulation seed value.

Simulation Seed[]

Changing this value alters the randomization effects when importing the PySwarm script. If a specific seed value does not provide a good animation sequence, you can always try a different seed.

TIps and Limitations[]

  1. Currently, randomization is limited to Initial positioning of BOIDs for "Inside Container" and "Inside a Sphere" options and Initial velocity of BOIDs for "Random speed and heading" option
  2. Later versions of PySwarm will use randomization more extensively.