Page plugins/11-ac-processor-suite/versions/14-ac-processor-suite not found

Particle Tools

This set of patches provides an object-oriented interface for building dynamic particle systems.

Particle Tools is based on Tommi Ilmonen’s Visual Effects Engine (VEE) (http://www.tml.tkk.fi/~tilmonen/vee/) and is released under the GPL.

Versions

Particle Tools v0.3   1.24 MB i386 · x86_64 · ppc · ppc64

This set of patches provides an object-oriented interface for building dynamic particle systems. Particle Tools is based on Tommi Ilmonen's Visual Effects Engine (VEE) (http://www.tml.tkk.fi/~tilmonen/vee/) and is released under the GPL.

Instructions

  1. Download most recent file using above link
  2. Extract content (you will see single *.plugin file)
  3. Copy this file to:
    • ~/Library/Graphics/Quartz Composer Plug-Ins (~ sign stands for home directory, so it is /Users/YOUR_USERNAME/Library/Graphics/Quartz Composer Plug-Ins)
    • or, for system wide installation (for all users) you can copy this plugin to /Library/Graphics/Quartz Composer Plug-Ins

Patches

The following patches are defined in Particle Tools plugin:

The Random Vector Operator patch modulates a given parameter of the Object to which it is connected by providing a random vector for each computational frame.


http://kineme.net/

The Particle Quad Collider patch provides collision detection against a single quad.

If Backface Culling is enabled, collisions are unidirectional - the collision surface is permeable to objects traveling in the direction of the normal, and is impermeable to objects traveling in the opposite direction.


http://kineme.net/

The Particle Collider Structure patch provides collision detection against a Faces Structure.

The Faces Structure should be a one-dimensional array, containing groups of nine values, each group indicating the verticies of a triangle (i.e., X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3).

If Backface Culling is enabled, collisions are unidirectional - the collision surface is permeable to objects traveling in the direction of the normal, and is impermeable to objects traveling in the opposite direction.


http://kineme.net/

The Damping Force patch provides a linear approximation of viscous drag, appropriate for small objects or objects moving at relatively slow speeds. When “Magnitude” is positive, each object with is slowed proportionally to the product of its Area and its current Velocity.


http://kineme.net/

The Gravity Force patch provides a constant force along its vector, representing simple Galilean gravity.


http://kineme.net/

The Wind Force patch simulates natural wind - it pushes objects along its axis, and randomly “gusts”.

Objects with larger Areas will be affected more by the Wind Force patch than those with smaller Areas.


http://kineme.net/

The Color Table patch specifies a series of colors with which a Particle will be rendered throughout its life span. Each color represents a keyframe which is blended linearly over time. The time each color becomes active depends on the particle’s Age Limit.


http://kineme.net/

The Render Class patch allows a few rendering parameters to be controlled on a per-particle basis.

“Alignment” controls how each particle is oriented - whether based on the screen (“Billboard” mode) or based on the particle’s current velocity.

For velocity-based alignment, “Length Scale” controls how much the particle’s current velocity will affect its rendered length.

For velocity-based alignment, “Max Length Scale” controls the maximum amount the particle’s current velocity will affect its rendered length.


http://kineme.net/

Each instance of the Boid Force patch is a particle that exhibits flocking behavior, as described in Craig W. Reynolds’s well-known SIGGRAPH ’87 paper.


http://kineme.net/

The Particle Emitter patch emits clones of a certain object at a specified rate.

“Child Operators” set the newly-created object’s initial values, but do not affect the object thereafter (unlike the Emitted Object’s “Self Operator”).


http://kineme.net/

The Explosion Force patch simulates an explosion - throughout its lifetime, the explosion’s shock wave grows toward the specified Range, and causes objects to ricochet with the specified Magnitude.

All Objects are affected equally by the explosion, regardless of Mass or Area.


http://kineme.net/

Each instance of the Gravitate Force patch is a particle that pulls other particles toward itself.

Set the Decay Power input to 2.0 for Newtonian gravitation.


http://kineme.net/

Particle. The primary building block of a particle system.

To construct a basic particle system, connect the output of this patch to a Particle Emitter, connect the Particle Emitter to a Particle Scene, and connect the Particle Scene to a Particle Renderer.

“Self Operators” allow several of the particle’s properties to be altered. “Self Operators” differ from the Particle Emitter’s “Child Operators” in that they continue to alter the particle’s properties throughout its life span, rather than just setting initial values at the time of creation.

“Looks” defines the particle’s color and alpha attributes based on its current age.

“Render Class” defines several additional rendering parameters.


http://kineme.net/

Force: Vortex


http://kineme.net/

The Particle Renderer patch paints a pre-computed Particle Scene onto the OpenGL surface.

The “Scene” parameter takes the output of the Particle Scene patch.

The “Show Region Boxes” parameter controls whether the scene’s dynamically-generated region boxes are rendered. This is useful when performance-optimizing the scene.

“Size Multiplier” scales each object’s size (but preserves location and velocity).

“Alpha Multiplier” scales each object’s alpha value.

“Render Order” controls the order in which the scene’s objects are painted. Region Boxes are only rendered in “Recursed” mode.

“Blending” controls the way each object is composited onto the OpenGL surface.


http://kineme.net/

The Particle Renderer patch paints a pre-computed Particle Scene onto the OpenGL surface.

The “Scene” parameter takes the output of the Particle Scene patch.

The “Show Region Boxes” parameter controls whether the scene’s dynamically-generated region boxes are rendered. This is useful when performance-optimizing the scene.

“Size Multiplier” scales each object’s size (but preserves location and velocity).

“Alpha Multiplier” scales each object’s alpha value.

“Render Order” controls the order in which the scene’s objects are painted. Region Boxes are only rendered in “Recursed” mode.

“Blending” controls the way each object is composited onto the OpenGL surface.


http://kineme.net/

The Particle Render with Texture patch draws a Quad for each particle in the specified Scene, using the particle’s location and heading attributes.

The “Scene” parameter takes the output of the Particle Scene patch.


http://kineme.net/

The Particle Renderer VBO patch paints a pre-computed Particle Scene onto the OpenGL surface. OpenGL Vertex Buffer Objects are used to accelerate rendering (relative to the normal Particle Renderer patch), at the cost of some flexibility. Additionally, unlike the normal Particle Renderer patch, this renderer allows texture mapping.

The “Scene” parameter takes the output of the Particle Scene patch.

“Size Multiplier” scales each object’s size (but preserves location and velocity).


http://kineme.net/

The Particle Scene patch coalesces any number of Particle Objects into a Partlce Scene - which can then be passed to the Particle Render patch. When this patch executes, the actual calculus takes place - each object’s velocity is updated according to the scene’s forces, and each object’s location is updated according to its velocity. This process is independent of the rendering process, so that - optionally, for computationally-intensive scenes - the scene calculus may be updated at a lower framerate than the rendered results.

For better performance, the scene is optionally broken down into a number of spatial regions. These regions are split and collapsed dynamically depending on how many objects are present in a region at any given time. By altering the “Split Threshold”, “Collapse Threshold”, and “Recursion Levels” parameters, performance may be optimized. Localized forces whose bounding boxes do not coincide with a given object’s region do not interact at all with that object, providing some computational savings.

The “Lower Bound” and “Upper Bound” parameters define the initial, root region. Objects may venture outside this root region, however if they do they will no longer contribute to the splitting and collapsing of regions.

Outputs provide a total count of Objects (including Forces), and Forces alone. Forces are more computationally-intensive than objects (given that each force needs to interact with each object), so the ratio of forces to objects should generally be kept fairly low.


http://kineme.net/

The Random Number Operator patch modulates a given parameter of the Object to which it is connected by providing a random value for each computational frame.


http://kineme.net/