MixRGB Isn't Working?

Hi there,

Put simply, I am trying to paste a PNG (alpha) texture onto a solid color. I’ve gone through many Youtube tutorials, and nearly all of them will tell you to add in two ImageTexture nodes and link them to a MixRGB in one way or another.

I have followed / copied many tutor’s node formulas, and yet for reasons I don’t understand, nothing seems to work… Can someone help me understand what I haven’t switched on, or what is missing from this setup? I’ve attached two images;

  • Image one is where I want to learn from:

  • Image two is what I’m trying to produce, I used images as planes in case you’re wondering

  • I’m currently using Blender 2.83, (I don’t know if that makes much of a difference, nor do I know why I haven’t made the jump to anything beyond 2.83, we’re long past it now, I know!)

  • I am aware of being able to unwrap a single object across two UV maps.

  • Despite the fact I have it set to clip, my Alpha images is still repeating / tiled.

P.S: I’m starting to learn some more basics of texturing. My end goal is to be able to combine multiple textures onto one map, if someone is willing to mentor / answer any questions I have, I’d be most grateful(!) My plans will a largely involve adding multiple liveries onto a base color to make a paint scheme

Have you mapped your alpha channels from the image nodes?

I think so? Sorry if I seem a tad clueless, I’m more-or-less starting from scratch in terms of texturing. I’ve unwrapped the alpha image on a UV map seperate to the solid red… If that’s what you mean? I’m here to learn so I’m all ears

I’ve never used a version of blender that old, so - don’t know if this solution will work for you, or not.

(Scene file built in 4.1)
legobox.zip (420.3 KB)

Thank you, here’s what I have upon copying your nodes:

I think the foundations are there but yes as you can see, far from what I’d like as the result. Might be the fact I’m using an older version of Blender, I’m not quite sure? There are two seperate UV maps just in case you were going to ask.

Blender splits the color from the alpha, so you should use the ‘Alpha’ output from your textures to do the mixing…


(despite some differences between 2.83 and 4.1.1 in the ColorMix node, this setup should work in both versions)

Hi there, thanks for your help firstly,
Here are the results of mirroring your nodes:


As you can see, still far from the desired result. I think there must be some sort of rendering value I don’t have turned on or off? I’m not sure where I’m going wrong here and I can imagine you might be a bit confused too, considering yours has worked without issue.

I’m trying to learn this so I can decorate and apply liveries to vehicles rather than texturing them the way that I have been, which in short, “is like a caveman.”

Just as an example of what I hope to learn from this:

Let’s go with this rocket, bomb… Missile? (I took about 5 minutes to design it)

  • I’d like the base color / texture to be a metallic gold.
  • I’d like to apply a shark emblem to the tail.
  • I’d like to apply shark teeth to the nose.
  • I’d like to combine all three textures onto one texture / UV map

How would I go about doing this, and perhaps it’s time I make the jump to what is it, 4.X now? Good greif I didn’t notice just how far Blender’s versions have come, I remember them announcing 3.X!

Do your textures have an Alpha channel? (my example presumes that). (very important!)

You should try that setup with the scene that @thorn has posted.

Basically, my example goes like this:

  • Set the color to red (RBG node)
  • If Alpha of ‘smiley’ image is 1, replace the current color with ‘smiley’ color (left RGBMix); otherwise keep the current color.
  • if Alpha of ‘lego’ image is 1, replace the current color with ‘lego’ color (right RGBMix); otherwise keep the current color.

And you can keep doing this for as many images you want.

If the factor value of the RGBMix is 0, the output of the node will be 100% the ‘Color A’.
If the factor value of the RGBMix is 1, the output of the node will be 100% the ‘Color B’.
If the factor value of the RGBMix is between 0 and 1, the output of the node will be [(1-factor) * Color A] + [factor * Color B].

Hello again,

You’ll have to forgive me as I’m having trouble understanding this reply, still learning etc, could you please screenshot your explanation?

Also, more on the end goal of being able to apply multiple png / alphas to a textured or vertex painted body, is this something you’d be happy to help me learn, provided you know yourself and we can overcome these first few hurdles?

Thank you :slight_smile:

If you’re still learning, please read carefully both my posts… try them with the scene from thorn; check what comes out from each socket by pluging it into the Material’s Output. All the information you need was presented here, and you now have to experiment in order to pratically learn it… (so… no screenshots)

The same method can be used with multiple images… you just need to stack them one after another.

1 Like