C# 如何更改粒子效果颜色?

C# 如何更改粒子效果颜色?,c#,unity3d,game-development,C#,Unity3d,Game Development,如何将粒子系统的颜色更改为与播放器颜色相同 我试图在一些教程中找到如何做到这一点,我得到了以下解决方案: GameObject effectBlow = Instantiate(blowOut, transform.position, Quaternion.identity) as GameObject; effectBlow.gameObject.GetComponent<ParticleSystem>().startColor = material.material.color;

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

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

GameObject effectBlow = Instantiate(blowOut, transform.position, Quaternion.identity) as GameObject;
effectBlow.gameObject.GetComponent<ParticleSystem>().startColor = material.material.color;
GameObject effectBlow=实例化(井喷、transform.position、Quaternion.identity)为游戏对象;
effectBlow.gameObject.GetComponent().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;
GameObject effectBlow=实例化(井喷、transform.position、Quaternion.identity)为游戏对象;
var main=effectBlow.gameObject.GetComponent().main;
main.startColor=player.GetComponent().material.color;
因此,它基本上是创建一个变量main,实例化的游戏对象的particleSystem主模块将从该主变量引用到它。我们使用startColor属性修改玩家游戏对象的颜色

有关更多信息,请查看:

您是否将此脚本附加到玩家游戏对象?在您的回答中,如果要应用颜色,则用于材质的粒子系统精灵必须为全白色,否则,颜色将与精灵的颜色混合(说到unity2D,我猜Unity3D中也会出现这种情况)。