如何更改粒子效果颜色?

How to change particle effect color?

如何将粒子系统的颜色更改为与我的播放器颜色相同?

我试图在一些教程中找到如何做到这一点,我得到了这个解决方案:

GameObject effectBlow = Instantiate(blowOut, transform.position, Quaternion.identity) as GameObject;
effectBlow.gameObject.GetComponent<ParticleSystem>().startColor = material.material.color;

但现在我的 Unity 抱怨那个代码,它说它已经过时,当然颜色在游戏中不会改变。

我不知道怎么改,有人能帮我吗?

startColor 属性 已弃用,因此不能那样使用,请尝试此代码

        GameObject effectBlow = Instantiate(blowOut, transform.position, Quaternion.identity) as GameObject;
        var main = effectBlow.gameObject.GetComponent<ParticleSystem>().main;
        main.startColor = player.GetComponent<Renderer>().material.color;

所以它基本上做的是创建一个变量 main 并且实例化的游戏对象的 particleSystem 主模块将从我们使用的主变量引用它 startColor 属性 修改玩家游戏对象的颜色

有关更多信息,请查看: https://docs.unity3d.com/ScriptReference/ParticleSystem-main.html