0 Favourites

[Effect] Color Fusion, formerly Color Overlay

This forum is currently in read-only mode.
  • NEW VERSION (Dec 14, 2010)

    This effect just merges a certain amount of a chosen color to the original. I did this one, because I didn't find a simpler one.

    How to use it:

    Red

    Green

    Blue

    These first three parameters define the color you wish to lay over your image in color values (0-255)

    Intensity Defines the amount of the color in the resulting image. The more amount the less original colors. (for example {red 255, intensity 100%} totally replace all original colors with shades of red)

    Install:

    Download and put "color fusion.fx" in the effects folder.

    Download:

    Color Fusion.fx

  • sweet, does it preserves alpha?

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • that's cool

    I think I'll be using this in my game if it's dynamic and all that

  • sweet, does it preserves alpha?

    Yes. Well, at least with the sprites I tested it with

    that's cool

    I think I'll be using this in my game if it's dynamic and all that

    I'm not quite sure, what you mean. The parameters are changable during runtime, of course. Smooth transitions when using TimeDelta are also possible. A built-in parameter animation is not present.

  • This looks great, perfect for day/night effects and the like.

    I'll probably be using this in my projects.

  • This is quite a nice effect. After trying to make a color replacer for up to ten colors (which didn't work since only 32 registers are allowed :p :/ ) I tried advancing this effect a bit:

    Color Over2.fx

    http://www.mediafire.com/?9a98km3w3g5hxz2

    What's been added:

    I spit the intensity regulator into three parts for each color channel. Further I added the effect of color inversion, also split up into three channels. Finally a color channel swap was added, which can swap all the values of the different color channels.

    There are quite a few new parameters, I admit, but the effect is really useful for all different sorts of recoloring.

    An additional fun thing thing about the effect (also with tulamide's Color Overlay) is that the values don't have to be between 0-100% . This might not be intended, but it's again quite useful in achieving nice color effects. This is as close as I'll get to color swapping, and it requires quite a bit of probing, but the recoloring possibilities are impressive.

  • First, some useful additions, e.g. the channel swapping. We could see color overlay as the every-day-use effect (the idea was to keep it simple), whereas color overlay 2 serves as tool for pros, for the ones who need more control to tweak their colors. Really nice.

    An additional fun thing thing about the effect (also with tulamide's Color Overlay) is that the values don't have to be between 0-100% . This might not be intended, but it's again quite useful in achieving nice color effects. This is as close as I'll get to color swapping, and it requires quite a bit of probing, but the recoloring possibilities are impressive.

    It was connived, but the results outside 0-100% may differ unexpectedly from what one has in mind, so it is a "handle with care"

    I'm currently (and because of design issues probably a little longer) working on an effect, that does color indexing, meaning swapping whole palettes of colors. It works fine but is limited in the way of initial coloring, so it will take a while to figure out a good and convenient way. Maybe I'm posting a test version to see what input comes from the community. I'm not sure.

  • I haven't learned any of this fx making stuff yet, but I had an idea in chat, is this possible:

    [quote:evlok8qm]<loosemib>: would it be possible to make an effect get the colors from one sprite, like a square with a bunch of colors to the left and right

    <loosemib>: aligned so the left column is the "from" colors, and the right column is the "to" colors

    <loosemib>: and it uses this sprite to determine how to swap pallettes for the actual colorswapping sprite?

    using the pallette sprite as the foreground object, but retrieving color info from all the 0x locations and the 1x locations determining the from/to colors?

  • I haven't learned any of this fx making stuff yet, but I had an idea in chat, is this possible:

    [quote:16alxvhr]<loosemib>: would it be possible to make an effect get the colors from one sprite, like a square with a bunch of colors to the left and right

    <loosemib>: aligned so the left column is the "from" colors, and the right column is the "to" colors

    <loosemib>: and it uses this sprite to determine how to swap pallettes for the actual colorswapping sprite?

    using the pallette sprite as the foreground object, but retrieving color info from all the 0x locations and the 1x locations determining the from/to colors?

    My approach is similar, but this exact example is not possible. The reason is, that you have only access to the actual foreground object but the background is averything behind it as one display size image. You can't select certain objects from the background.

    The way I'm doing it is that one sprite serves as the "to" palette and changes the complete background it covers. The "from" is the actual problem. I'm still experimenting with greyscale or one of the color channels, but that would mean I need to develop an app that does the indexing prior to the game and creates special images from the source images based on the number of indices used. Sounds weird, I know, hard to explain, maybe I should just release it as test version and see where we can get with it.

    EDIT: hmm, maybe it is possible...let me test a bit...

    EDIT 2: no, sorry, the limitations of the instruction slots are too strict. What I wrote above is the only possible way.

  • I didn't test it yet, but how does this differ from a solid color sprite with overlay on top of the image? I'm just curious, not saying it isn't useful or anything.

  • I didn't test it yet, but how does this differ from a solid color sprite with overlay on top of the image? I'm just curious, not saying it isn't useful or anything.

    You should have tested it

    It works completely different. And that's why I was afraid of the name "color overlay".

    The "overlay" effect is a special blend mode, that combines a multiply blend for dark areas and a screen blend for light areas. The result is a mixture of more contrast plus the mixed original and blend color.

    The "color overlay" effect works more like a foto filter, or imagine you wear colored sunglasses while looking at the image. It replaces a certain amount of the original color by the selected color. The result is very natural, because in real life you lose contrast the darker it gets, and "color overlay" works similar. That's why it is very useful as a post effect for day-night-cycles and such. (You could have a stormy winter night, totally black, only lit dark blueish when lightning strikes, or a bright mid-sommer day ... all with the same set of sprites.)

    Have a look at the differences here:

  • Though... How the heck do you think you'd go about using this effect over multiple layers? I imagine it would require a canvas, but...

    Edit: I'm a complete retard. "Grab layout" does the job perfectly, the REAL problem is erasing the effect using light sources...

  • You should have tested it

    It works completely different. And that's why I was afraid of the name "color overlay".

    Yea sorry, I did test it when I got home, I just forgot to post here again. Nice effect! It makes tint plus pretty much obsolete. I know how overlay works, I just thought your effect used an overlay blending algorithm since it has overlay in the name. I recommend the name "RGB levels" or "Color fusion" for this effect. May I suggest values from 0-255 so it's easy to select an exact color?

  • Nice effect!

    Thank you

    It makes tint plus pretty much obsolete.

    I know I will sound like a nitpicker now, but "color overlay" is not just "Tint Plus" with intensity In fact, "Tint Plus" was the reason to create "color overlay". While "Tint Plus" just multiplies the original colors with the selected one channel based, "color overlay" replaces a certain amont (up to completely) of the original color with the selected one based on a third-weighted greyscale image. It keeps luminance, so to say (not exactly, but let's leave it for now).

    The difference is pretty obvious: If you have a 100% solid blue sprite and apply "Tint Plus" with 100% red, the result is black.

    original[0, 0, 1] * selected[1, 0, 0] = [0, 0, 0]

    With "color overlay" you get dark red.

    original[0, 0, 1] -> grey[0.333] -> original[0, 0, 1] * 0% + selected[1, 0, 0] * grey[0.333] * 100% = [0.333, 0, 0]

    I recommend the name "RGB levels" or "Color fusion" for this effect. May I suggest values from 0-255 so it's easy to select an exact color?

    Thanks again, you're the first proposing better suited names, I appreciate it much. "Color fusion" sounds pretty close to what exactly it does.

    I was quite comfortable with the percentage values. But if channel values [0, 255] add to the comfort of using this effect, I will change it, of course.

  • I know, I tested it against tint plus to see the exact difference. I know it's not just TP with intensity!

    I'm just saying that It seems to do exactly what tint plus is supposed to be used for, but better. I geuss Tint plus is just faster. (if it's even a measurable difference, though I know TP is just a single multiplication instruction)

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)