统一更改粒子系统起始颜色的范围

时间:2019-02-17 18:10:36

标签: c# unity3d

希望这是一个简单的问题。我想更改粒子系统组件中“两种颜色之间的随机性”两种起始颜色,但要统一使用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;
 }

1 个答案:

答案 0 :(得分:2)

Unity3D中的颜色是值类型(结构),而不是引用类型。如果要设置渐变,请尝试以下方法:

void Start () {
    ParticleSystem.MainModule psMain = GetComponent<ParticleSystem>().main;
    psMain.startColor = new ParticleSystem.MinMaxGradient(Color.white, Color.red);
}