动态设置Unity粒子发射速率

    //错误写法
    void SetEmissionRate (GameObject pGo, float pValue)
    {
        ParticleSystem tParticleSystem = pGo.GetComponentInChildren ();
        tParticleSystem.emission.rate = new ParticleSystem.MinMaxCurve (pValue);
    }

上述写法编译报错。

    //正确写法
    void SetEmissionRate (GameObject pGo, float pValue)
    {
        ParticleSystem tParticleSystem = pGo.GetComponentInChildren ();
        ParticleSystem.EmissionModule emission = tParticleSystem.emission;
        emission.rate = new ParticleSystem.MinMaxCurve (pValue);
    }

面板中数值没有变,但实际执行效果已经修改

参考

粒子系统模块 – 问答

你可能感兴趣的:(动态设置Unity粒子发射速率)