PART (File Format)

The PART effect script format is used to configure particle effects.

Particles are the most widely-used effect in Metroid Prime, with approximately 3,500 unique scripts across the PAK archives. Each script configures a complete particle system that may draw into the scene.

The particle system is configurable to generate many visual effects:


 * Flames and smoke
 * Floating embers
 * Water splashes/drips
 * Dust and dirt in windy conditions
 * Volumetric light "shimmers"
 * Energy/plasma discharges
 * Many others

The concept behind the particle system is quite simple: lots of view-aligned (camera-facing) quadrilaterals (rectangles) with a texture-image are emitted, positioned, rotated, sized, colored, etc... according to the parameters in the particle script.

Particle Instance
Using the power-in-numbers principle, sophisticated visual effects may be assembled from a large number of individual particles. The effect runtime manages the state of all active particles and their visual properties.

For each frame, each particle does the following primary tasks:


 * Integrates all velocity sources, applies time-scale and advances position 1/60th of a second
 * Evaluates local transforms
 * Scale
 * View-aligned rotation
 * View-aligned offset
 * Evaluates particle color (shader-multiplied with texture-image)

There are other operational steps activated and controlled by the script

Emitter
Each particle-system employs a single emitter context. The emitter generates a specified number of particles each frame; determining the initial position and velocity-vector for each. It also evaluates a lifetime (frame count) for each particle to be in the scene.

Emitters are represented by multiple node-classes:

Point Emitter ( and )
Both nodes receive position and velocity vector parameters. All particle instances are constructed using the parameters directly.

The differences between  and   are presently unknown.

Sphere Emitter
The sphere emitter randomly evaluates a point on a sphere of specified offset-vector and radius. The velocity vector is computed from the sphere's normal and scaled by a specified amount.

Partial-Sphere Emitter
Same as the sphere emitter; with additional angular constraints to randomly evaluate within. Therefore, only a sphere-section is emitted from.

PART Keys
Scope is one of (Constant, System, Particle)


 * Constant parameters are evaluated once initially and retained within the system.
 * System parameters are evaluated per-system, per-frame.
 * Particle parameters are evaluated per-system, per-frame, per-particle-instance.

PART Nodes
PART scripts share effect nodes with other effect script formats.

Some nodes are exclusive to PART: