Unity ParticleSystem 控制粒子移动(记录)

Unity ParticleSystem 控制粒子移动(记录)_第1张图片

记录一下,防止忘记, 粒子散落然后朝着某个点移动控制的方法 

思路: 整个使用了DoTween 控制,延迟时间达到后 ,获取粒子数,然后循环遍历粒子数

然后就是DoTween.To 的移动设置了

在移动过程中 设置粒子

particle.SetParticles(m_particles, num);

最后移动完成后,为了防止粒子停留在原地 直接设置好粒子剩余时间  让它立即消失

m_particles[a].remainingLifetime = 0;
particle.SetParticles(m_particles, num);

随机了下 每个粒子初始移动的时间,看起来更自然些

SetDelay(tims);

位置设置

粒子 Simulation Space 设置成 World 

我这里是在UGUI上  所以 需要将z轴设为0

Set(targetPos.position);

public void Set(Vector3 movePos)
{
    pos = new Vector3(movePos.x, movePos.y, 0);
}
 
  

 Unity ParticleSystem 控制粒子移动(记录)_第2张图片

Unity ParticleSystem 控制粒子移动(记录)_第3张图片

你可能感兴趣的:(Unity3d,unity3d)