如何更改粒子效果颜色?
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
如何将粒子系统的颜色更改为与我的播放器颜色相同?
我试图在一些教程中找到如何做到这一点,我得到了这个解决方案:
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