ColorOverLife to use LinearColorCurve as input
Goal: Parameterize an emitter's ColorOverLife so that I can have a single particle system that can be used on any number of teams (Red, Blue, etc.).
Reason: This way, all I need to do is assign a color "palette" for each team, and I won't have to worry about switching particle systems, creating X duplicate particle systems for each team color, etc. With each team and new team-color-dependent particle system I introduce, the sheer task of implementing and keeping track of all this stuff... it makes me sick.
Where I'm at: The core of my problem is that, in Cascade, there is no option for "DistributionVectorCurveParameter". I simply want to be able to drive an "over life" module with a Blueprint-exposed parameter.
I have tried using the Dynamic module in Cascade. This won't work because, though "dynamic", it only works with floats. This thread shows a way to use a LinearColor curve as a vector parameter in Cascade, but there are 2 problems there: 1. a vector parameter for ColorOverLife would be equivalent to InitialColor, wouldn't it? If there's no curve, there's no "over life" happening 2. no way to access particle age in blueprint, so it's already not equivalent to ColorOverLife
I have managed to get close to the desired result with a combination of InitialColor and ScaleColorOverLife. If I have a generic scale over time, I'm able to parameterize the InitialColor and almost get what I want. The problem here is that, depending on whether I'm using a red, green, or blue hue, the "generic" scale doesn't give me quite the right colors, as it shouldn't. As an example, I'm trying to make a fire particle system that can be red, blue, green, etc. If I use red as a reference when making the points on my ScaleColor curve, then it doesn't look quite right for Blue fires or Green fires. When the flames change color over their lifetime, they'll change according to the scale which was made using Red flames as a reference. So Blue fire turns greenish/brown at the end (that ain't right).
I feel as though this must be a common use case in Cascade. It seems to me there should be a DistributionCurveParameter option, but there isn't. I have found lots of questions online of people looking to achieve something similar, but none of them have worked for me. Any help would be greatly appreciated :)
asked Mar 28 '17 at 04:39 PM in Using UE4
Follow this question
Once you sign in you will be able to subscribe for any updates here