ParticleEmitter.particles Manual     Reference     Scripting  
Scripting > Runtime Classes > ParticleEmitter
ParticleEmitter.particles

var particles : Particle[]

Description

Returns a copy of all particles and assigns an array of all particles to be the current particles.

Note that after modifying the particles array you must assign it back to the particleEmitter to see the change. Particles with energy of zero or less will be killed when assigning the particles. Thus when creating a complete new particle array, you need to set the energy of all particles explicitly.

JavaScripts
// Attach this script to an existing particle system.

function LateUpdate () {
// extract the particles
var particles = particleEmitter.particles;
for (var i = 0; i < particles.Length; i++) {
// Move the particles up and down on a sinus curve
var yPosition = Mathf.Sin (Time.time) * Time.deltaTime;
particles[i].position += Vector3 (0, yPosition, 0);
// make the particles red
particles[i].color = Color.red;
// modify the size on a sinus curve
particles[i].size = Mathf.Sin (Time.time) * 0.2;
}
// copy them back to the particle system
particleEmitter.particles = particles;
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void LateUpdate() {
Particle[] particles = particleEmitter.particles;
int i = 0;
while (i < particles.Length) {
float yPosition = Mathf.Sin(Time.time) * Time.deltaTime;
particles[i].position += new Vector3(0, yPosition, 0);
particles[i].color = Color.red;
particles[i].size = Mathf.Sin(Time.time) * 0.2F;
i++;
}
particleEmitter.particles = particles;
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def LateUpdate():
particles as (Particle) = particleEmitter.particles
i as int = 0
while i < particles.Length:
yPosition as single = (Mathf.Sin(Time.time) * Time.deltaTime)
particles[i].position += Vector3(0, yPosition, 0)
particles[i].color = Color.red
particles[i].size = (Mathf.Sin(Time.time) * 0.2F)
i++
particleEmitter.particles = particles