通过代码设置ParticalSystem的写法参考如下:
publicclassSetParticlRateSpeed : SetByFloatInterval
{
[SerializeField]
float rateMulti = 1;
[SerializeField]
float speedMulti = 1;
ParticleSystem particle;
voidStart()
{
particle = GetComponent<ParticleSystem>();
var emission = particle.emission;
emission.rateOverTime = rateMulti * floatValue;
var main = particle.main;
main.startSpeed = speedMulti * floatValue;
}
voidUpdate()
{
var emission = particle.emission;
float val = emission.rateOverTime.constant;
val = Mathf.Lerp(val, rateMulti * floatValue, Time.deltaTime * 5);
emission.rateOverTime = val;
var main = particle.main;
main.startSpeed = Mathf.Lerp(main.startSpeed.constant, speedMulti * floatValue, Time.deltaTime * 5);
}
}