希望这是一个简单的问题。我想更改粒子系统组件中“两种颜色之间的随机性”两种起始颜色,但要统一使用C#,但是似乎无法弄清楚如何。
这是我认为可以执行的代码,但事实并非如此:
void Start () {
Color particleMax = gameObject.GetComponent<ParticleSystem> ().main.startColor.colorMax;
particleMax = Color.red;
Color particleMin = gameObject.GetComponent<ParticleSystem> ().main.startColor.colorMin;
particleMin = Color.white;
}
答案 0 :(得分:2)
Unity3D中的颜色是值类型(结构),而不是引用类型。如果要设置渐变,请尝试以下方法:
void Start () {
ParticleSystem.MainModule psMain = GetComponent<ParticleSystem>().main;
psMain.startColor = new ParticleSystem.MinMaxGradient(Color.white, Color.red);
}