我正在尝试更改Unity 2017中ParticleSystem的“startColor”字段。
我尝试在C#中以两种不同的方式编写代码。
第一种方式是:
ParticleSystem.MainModule settings =
GetComponent<ParticleSystem>().main;
settings.startColor = new Color(9, 251, 122, 128);
,第二种方式是:
GetComponent<ParticleSystem>().startColor = new Color(9, 251, 122, 128);
但是,在这两种情况下,当我运行代码时,startColor会自动设置为WHITE,即(255,255,255,128)。
上面的代码似乎适用于旧版本的Unity。但是,在Unity 2017中,它无法正确更改“startColor”。
请告诉我如何修复它。感谢。
PS:
以下是Unity论坛内的完整原创问题和答案(使用正确的C#语法):https://answers.unity.com/questions/604246/how-to-change-the-color-of-particle-system.html
请注意,似乎该解决方案可能适用于较旧版本的Unity,但不适用于Unity 2017(除非我弄错了)。
答案 0 :(得分:4)
答案 1 :(得分:3)
上面的代码似乎适用于旧版本的Unity。 但是,在Unity 2017中,它无法正确更改“startColor”。
我甚至感到惊讶的是,它在以前的版本中完全有效。请注意,您拥有的是未定义的行为。
颜色从0
到1
值,Color32
从0
到255
值范围。
您仍然可以使用0
到255
范围内的颜色,但除以255
settings.startColor = new Color(9 / 255f, 251 / 255f, 122 / 255f, 128 / 255f);
或者使用Color
Color32
Color color = new Color32(9, 251, 122, 128);
settings.startColor = color;