Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

ParticleEmitter.particles

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public var particles: Particle[];
public Particle[] particles;
public particles as 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.

	// Attach this script to an existing particle emitter.

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 emitter particleEmitter.particles = particles; }
using UnityEngine;
using System.Collections;

public class ExampleClass : 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

public class ExampleClass(MonoBehaviour):

	def LateUpdate() as void:
		particles as (Particle) = particleEmitter.particles
		i as int = 0
		while i < particles.Length:
			yPosition as float = (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