I’ve been searching around quite a bit on this, and I’ve seen a lot of people setting particle locations,
but I’m using the particle system to generate a large cloud of points which I then want to extract and instantiate prefabs.
I feel like I’m missing something very simple here, but I can’t get particle.position information without using OnParticleCollision.
GetParticles() returns the number of particles, and
Particle mypoints = ps.Particle;
gives the error “cannot convert to UnityEngine.Particle type from UnityEngine.Particlesystem.Particle”
which seems fairly ridiculous to me.
Anyway, what am I missing here?
It’s quite a old question, but I thought I could mention,in case someone else is wondering, how to access a single particle with c#.
This example I am changing the velocity for each individual, active particle.
Important is to set the particles back (SetParticles()) after you have done some changes
to the particles. Or else they will have the old values.
ParticleSystem m_currentParticleEffect = (ParticleSystem)GetComponent("ParticleSystem");
ParticleSystem.Particle []ParticleList = new ParticleSystem.Particle[m_currentParticleEffect.particleCount];
m_currentParticleEffect.GetParticles(ParticleList);
for(int i = 0; i < ParticleList.Length; ++i)
{
ParticleList*.velocity = m_windDirection;*