This section provides an overview of the modifications of the PySwarm V0.6 system. Please refer to other sections of this wiki site for further details on new features and enhancements.
New PySwarm Features
- Better Movement Controls – Several new control parameters have been added to limit or constrain BOID movement:Min and Max Pitch and Max Bank Angles
- BOID Orientation – PySwarm now works with 5 different common object default orientations: 4 axes directions (+/-X and +/-Y) with UP being in the +Z axis, plus objects facing the +Z axis with UP in the +Y axis. More orientation options will be made available in future releases.
- Container Objects – You can now use objects in your Carrara scene as container zones (both safe and restricted). Further, you can move and resize these objects during the animation sequence, and BOIDs will respond accordingly. However, these objects are still restricted to the same primitive shapes – boxes, cylinders, and sphere. This means you will need to define automobiles as boxes and trees as cylinders.
- Smart Field Enabling (PIA) – Some parameter fields may be disabled (or made invisible) based on the settings of other parameters. This should improve working with PIA by makes it clearer which settings are relevant based on other settings.
- Exit Without Saving (PIA) – You can now elect to exit PIA without having to save your project parameters file in case there is a file access problem or an error in a parameter field.
- Import/Export Projects (PIA) – You can now import and export a project’s parameter settings from and to a file. With this feature, you can distribute your PySwarm settings with your Carrara scenes. This feature will be used to distribute demo animations.
- Installation Support – Starting with this release, you will now be able to install PySwarm and the related files using an installer application. I am using a reputable (and free) installation software wrapper to create the installer. (See Inno Setup for details.)
- Demo Scenes – Six demo scenes (along with importable PySwarm parameter settings) are now included to study, experiment, and learn. This set will be expanded in upcoming releases.
- Attractor Region – The Attraction rule has been enhanced. You can now define a radius boundary around an attractor. BOIDs flying within this zone are the only ones affected by the attractor object.
- Bank and Pitch Effects Controls – The “Use Banking” parameter has been replaced with the ability to exaggerate or dampen how much BOIDs bank in turns. (A value of 0 is the same as turning off banking.) Further, the same effect control is now available for pitch when BOIDs climb or dive.
- Random BOID Position Initialization - PySwarm now checks for restricted zones when randomly placing BOIDs and continues searching for a place to position them until a spot not within a restricted zone is found.
- Initializing Parameters (PIA) – The default parameter settings have been reworked when you first run PIA
Adaptive PySwarm Improvements
- To make way for the “Motion Animation” feature to be released in V0.6.2, the tabs were reworked. Max Speed and Max Turn are no longer rules. These parameters will now appear under the “Movement” tab.
PySwarm Bug Fixes
- Banking Error in Your Favor – Several banking calculation errors have been fixed.
- Closing PIA – I rewrote the code for closing the app to ensure resources are released and the .EXE closes properly.