PySwarm Wiki
No edit summary
Line 83: Line 83:
   
 
[[File:F15 Test Flight|thumb|left|335 px]]
 
[[File:F15 Test Flight|thumb|left|335 px]]
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
   
 
==Troubleshooting==
 
==Troubleshooting==

Revision as of 16:44, 15 January 2014

PySwarm_for_Carrara_V0.3_Release_Demo_Reel

PySwarm for Carrara V0.3 Release Demo Reel

Swarming, flocking, schooling, and other realistic "live" animation behavior can be easily achieved using PySwarm simply by selecting the behaviors you wish to simulate, tweaking some animation parameters, importing the script into your scene, and rendering the resulting keyframe-based simulation.

The ideas PySwarm is built on have been used in a number of motion pictures, including Batman Returns in 1992 and Breaking the Ice (with the animated characters Stanley and Stella) in 1987. Most modern-day movies now use CGI effects built on the constructs created in the late 1980's.

Current Capabilities

PySwarm is making this same technology available to DAZ3D Carrara users. So far, here is what has been built into PySwarm.

Unlimited BOIDs

PySwarm was designed such that the number of BOIDs you can use in your animation is limited only by the amount of memory and CPU power. I have so far tested my system up to 225 BOIDs without a problem.

Initialization of BOIDs

A number of options allow you to either start your animation sequence where BOIDs are currently positioned, or to have them randomly dispersed within your scene.

Basic BOID Animation Rules

Craig Reynolds' early research into making flocking animation resulted in defining three basic rules that, when applied to each individual (BOID) within the flock, create amazingly realistic animation - cohesion, separation, and alignment. These rules are built into (and are the foundational components of) PySwarm.

To read about early work to create basic flocking animation, go to this link: BOIDs.

Additional Animation Rules

In addition, PySwarm supports the following capabilities:

  • Containment - Set up to 10 containment zones to restrict BOID movement. Three different primitive shapes are currently supported.
  • Attraction - Define an object in your Carrara scene that will attract or repel BOIDs. The object can be moved about in the scene to draw BOIDs along a defined path.
  • Landing - BOIDs can simulate landing (such as when butterflies strike the ground). You can set the duration of landing.

Movement Controls

A number of parameters allow you to control certain aspects of BOID movement.

  • Initial, minimum, and maximum speed
  • Limit turning and acceleration of BOIDs
  • Restrict movement to a 2 dimensional (x,y) plane within your Carrara scene
  • Activate banking in turns

Features and Quality

I pride myself on developing and offering a product that delivers both on features and quality. During this development, 

Accessibility

Anyone who has Python and the PyCarrara plug-in installed on their WIndows-based computer can, with minimal effort, render complex-looking animation sequences.

Ease of Use

An essential feature of PySwarm is that, while the Python programming language (through the PyCarrara plug-in tool for Carrara) is used to perform the keyframe animation, PySwarm users do NOT have to know how to program in Python. In fact, PySwarm was engineered in a way that you don't even have to know a scripting language is even being used!

Fast Results

In addition, PySwarm makes the entire process of adjusting thePySwarm parameters, importing the script, and checking the results extremely fast and efficient. It usually takes just 1-2 minutes to go from editing the PySwarm parameters (through the PySwarm Interface App or PIA) to checking your results in Carrara's animation scrubber!

Example Demo Animations

Tank of Sharks

Shark_Tank_Phase_1_(remake)

Shark Tank Phase 1 (remake)









School of Angelfish

This demo shows the basic animation of angelfish

Angelfish_Test_final

Angelfish Test final









Flight of F15s

This demo shows a simple setup of 5 F15s buzzing a radio antenna.

F15_Test_Flight

F15 Test Flight








Troubleshooting

To get information about current limitations with the current version of PySwarm and PIA, as well as known problems and work-arounds, go to the troubleshooting wiki page via the link here.