Unity 2D Система частинок

2075 / Unity / 2D / Система частинок

 

 

Додати світлину




Rotation X = -270 повернути систему часток
Prewarm розігріти (частки зразу заповнюють простір)
Emition -> Rate Over Time кількість часток
Renderer -> Sorting Layer шар
Color over Lifetime зміна кольору
Start Size розмір частинок

particleSystem.Play();
particleSystem.Stop();

 
Галочка Send Collision Messages

void OnParticleCollision(GameObject other)
{
}
 

Контроль за окремими частинками

private ParticleSystem ps;
 
void Start()
{
  ps = GetComponent<ParticleSystem>();
}

void Update()
{
  // initialize an array the size of our current particle count
  ParticleSystem.Particle[] particles = new ParticleSystem.Particle[ps.particleCount];
  // *pass* this array to GetParticles...
  int num = ps.GetParticles(particles);
  Debug.Log("Found " + num + " active particles.");
  for (int i = 0; i < num; i++)
  {
    if (particles[i].position.x > 1) // positive x: make it red
      particles[i].color = Color.red;
    if (particles[i].position.x < -1) // negative x: make it die
      particles[i].lifetime = 0;
  }
  // re-assign modified array
  ps.SetParticles(particles, num);
}