Возвращает массив копий всех частиц и назначает его в качестве текущих частиц.
Обратите внимание, что после внесения изменений в массив частиц, вы должны снова применить его к particleEmitter, чтобы увидеть изменения. Частицы со значением энергии равном нулю или ниже будут уничтожены при их назначении. Таким образом, создавая новый массив частиц, вы должны явно задать энергию всех частиц.
var emitter: ParticleEmitter;
function Start() { emitter = GetComponent.<ParticleEmitter>(); }
function LateUpdate () { // extract the particles var particles = emitter.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 emitter.particles = particles; }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public ParticleEmitter emitter; void Start() { emitter = GetComponent<ParticleEmitter>(); } void LateUpdate() { Particle[] particles = emitter.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++; } emitter.particles = particles; } }