Unity粒子 ParticleSystem 动态修改StartColor
通过代码可以看到ParticleSystemModule下的属性都在结构体中,直接用常规的属性字段的赋值方法是不行的。需要实例化一个新的结构体,再将这个结构体的赋予引用的ParticleSystem。
这里提供一个改粒子变无色和恢复原来的颜色的案例参考。
public enum ParticleSystemState
{
Auto,
Alpha
}
public List<ParticleSystem> _particleSystemChilds;
public void SetParticleAlpha(ParticleSystemState state)
{
var main = _particleSystemChilds[0].main;
Color32 colorMin = main.startColor.colorMin;
Color32 colorMax = main