如何将粒子系统的颜色更改为与玩家颜色相同?
我试图在一些教程中找到如何做到这一点,我得到了这个解决方案:
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,实例化游戏对象的粒子系统主模块将从我们使用 startColor 属性修改玩家游戏对象颜色的主变量引用到它
欲了解更多信息,请查看此内容:https://docs.unity3d.com/ScriptReference/ParticleSystem-main.html