Problems with alpha and color in Cascade

Hello there,

I need help doing something very simple, yet in cascade it seems unnecessarily complicated.

This has to do with alpha and color settings of particles.

Here are my concerns:

1- at the moment, i cannot seem to set a particle to have for example different tones of Red, or of a colour i choose for the particle. Instead it will only let me randomize the rgb values which even if i lock some of them with ‘Locked Axes’, they will display a undesired range of colors. So for example if i have a smoke puff from a bullethit into sand, i want to make it so that dust emitter has just different tones of brown (as in lets say, brightest 1 or darkest 0 which will create a range of lighter/darker browns which is what i need). I am rather getting this rainbowy dust hits which is really annoying.

2- Alpha curves wont see to work with the Initial Color module, as much as i try, i cannot fade my alpha with curves dropping it down from 1 to 0 over time. This feature only seems to work within the Color Over Life module, yet in the Color Over Life module, i also cannot play with having different tones of a certain color for my particle because as soon as you randomize color values they will start flickering the colors progressively even in Constant value mode, making my particles look like a disco.

Also, defining colors with manual values or fiddling with the many curve values gets slow and frustrating to be honest. Cant we have a color palette displayed so we can just choose a color tone from it rather than fiddling with the curve components? Its just complicated for color defining, for other features curves are crucial but for colors, it will be easier to be able to add a component in a color curve that will just display a color palette in order to be defined, which can be just added at will along the 0 to 1 time Vals.

I hope you can understand my concerns and help me with this.

Thank you!

Hey Bruno_G -

So I can understand you frustration and I want to let you know that there is a way to achieve what you are looking for without being overly complex, but it does take some knowledge of how the modules interact and making sure your material is setup correctly.

For the purposes of this discussion lets say we have a typical Translucent Particle Material with nothing but the RGB value of a Particle Color node plugged into Base Color and the Alpha value of the Particle Color plugged into Opacity.

Assigning this material into a brand new particle sprite emitter will yield lots of white square shooting upwards. First thing lets get rid of Color Over Life, it is typically a very performant module but can be limiting in our control over the changes of our particle over time.

Let’s add an Initial Color Module and you should see the white squares return. Here is where we need to set our particle’s overall color. This is not where you set the color itself but the overall intensity of the color you will want to have. I will explain, keep reading. For our example here, let’s use a full intensity system so I will set the RGB values to 1,1,1.

Now add a Scale Color / Life node, This is the node that we will adjust the actual color and change it over time. Lets make this a Constant Curve distribution so we can control it over time and then graph it. CTRL Click on the graph to create two points and the right click each point and Set Time to 0 and 1. You can set the Color manual by right clicking each point and Set Color, but remember we have that Initial Color of 1,1,1. This node is meant to act as a Multiply for the initial color, so if we want to be red at the beginning of the particles life we set the first point on our timeline to a RGB value of 1,0,0 and if you wanted the red to be more emissive in nature you can multiply higher (2,0,0).

This set up works extremely well for a system in which you want to do even just small variations of one color. You can set up the color in initial color and then do variations through the Scale Color / Life.

The Alpha would work in the same fashion as the color in the above setup. Leave it at 1 in Initial Color and use the Scale Color / Life to control it.

Last really important note about Initial Color, It is only called and set at the particles birth. So if you are using a constant curve to change values here, you are actually changing the color of particles that are spawned over time, that color does not change over the particles life, but a particle born a few ticks later would be a different color.

Hopefully this will clear up some confusion for you.

Thank You

Eric Ketchum

Thank you for that. It helped for the alpha values i wanted to achieve yet, when it comes to color, within scale color/ life it will still randomize colors progressively. I just want to be able to set the color within Scale Color/Life to be uniform, not a progressive curve, so it randomizes my Init Color. Yet it still flickers the colors progressively, i dont want this, if i wanted this i would go for curve but i chose uniform not curve :frowning:

Hey Bruno_G -

So, just to clarify what you are trying to achieve: You want have your particles spawn random colors and stay at those colors for the life of those particles. You can set the initial color (just the color and not the alpha) to be uniform and then set the Scale Color Over Life to 1,1,1 for the life of the particle. This setup will spawn a particle of a certain color and that particle will remain that color for the life of that particle. However, each particle will be a different color based on the uniform range. You can limit the XYZ differences by setting the Mirror Flags of 0,1,2 (X,Y,Z) to SAME if you do not want the value to change. So I want a uniform range of greens would set the SAME flag for 0 and 2 and leave the 1 as Different.

Let me know -

Thank You

Eric Ketchum

Ok the uniform Init Color works, no more flickering disco. But, how do i go about achieving a darker and lighter tones brown? Its easy with a simple value color like green which is focused on the 1 which is set to different but brown is a mixture. I,m struggling with this :/, cant get a darker, lighter range of browns without getting other colors popping in :frowning:

Hey Bruno_G -

Have you tried to split your effect over several emitters in one particle system? So instead of using a uniform color setting try to use a constant initial color to set an exact color then use multiple emitter to mix the various range of colors together. As long as you manage your spawn rate across the various emitters and even share emitter modules you should be able to get exactly what you are looking for. By share modules I mean either Duplicate the emitter and then CTRL-Drag down the Initial Color module and drag down to break the shared emitter and delete the module that has a + on it.

Thank You

Eric Ketchum

The solution to this would be to change any VertexColor nodes to ParticleColor. :wink:

Huh? Thanks man but can you elaborate ^^?

Particle Color nodes in your material replaced Vertex Color in UDK, Particle Expressions | Unreal Engine Documentation

For More in depth: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

Well, assuming that you’re using a VertexColor node applied to the material of the particle, use a ParticleColor node instead. I did that and the color changed smoothly like a charm! :slight_smile: