I’ve found the problem, it wasn’t obvious and our documentation needs improving in this area .
It looks like when the randomize option is unticked in the Editor, it sets both localVelocityGraph and localVelocityGraph2 as the same value because they represent the min and max bounds of what would be the random range.
So the solution here is to set both localVelocityGraph and localVelocityGraph2 to the same graph.
Yeah, that’s now wrong That’s what confused me till I looked at the engine code. The particle effect also looked like it was doing a randomised range to the extend of what the previous graph values were.
What would have happened is that the original curveset was copied to localVelocityGraph and localVelocityGraph2 so when localVelocityGraph was assigned a new curveset, it was randomising between the original curveset in localVelocityGraph2 and the new curveset in localVelocityGraph.
If the velocity changes this is also applied to already spawned particles. Is there a way to make them keep their velocity and only newly spawned particles will be affected by the new velocity?
If the lifetime/rate is changed the particle system is reset. Is there a way to prevent that so already spawned particles will remain?
I don’t think so unfortunately, the whole graph is rebuilt when it is changed. Having two particle systems that you turn on/off may be a better option here?
The idea was to implement a slider to change the ParticleSystem velocity. So there are no predefined speed values.
For now we discarded the particle approach maybe we can get a similar result by using a model and custom material/shader.