unity教程:如何动态改变粒子系统的速度

发表于2017-02-06
评论0 6k浏览
  做游戏开发时有时候需要考虑粒子系统中的粒子速度,考虑到有些人对这块还不是很熟悉,下面就给大家介绍下unity中动态改变粒子系统的速度的实现方法,一起来看看吧。
  
  1、直接改变particleSystem.startSpeed;这种方法简单,但是只能改变新产生的粒子的开始速度,已经存在的粒子速度不会发生改变。
1
 
"font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1、直接改变particleSystem.startSpeed;这种方法简单,但是只能改变新产生的粒子的开始速度,已经存在的粒子速度不会发生改变
 
  2、修改Velocity over Lifetime,但是Unity并没有提供直接修改Velocity over Lifetime的方法,我们需要手动修改每个存在的粒子的速度。
1
2
3
4
5
6
7
8
9
10
11
12
 
void LateUpdate () 
    
        ParticleSystem.Particle[] particles = new ParticleSystem.Particle[particleSystem.particleCount]; 
        int count = particleSystem.GetParticles(particles); 
           
        for(int i = 0; i < count; i++) 
        
            particles[i].velocity = new Vector3(0, speed, 0); 
        
           
        particleSystem.SetParticles(particles, count); 
    }
 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引