Best Way to Overlay Graffiti?

Hi guys, so I am in the process of creating the scene below and blocking out where I want everything to be. On the shutters to the right, I will be using one of Chocofur’s metal shaders but want graffiti over the top of it. I have tried a few methods that I found online but to no avail, as they were for older versions of Blender and was wondering what the best way of doing it was.

I am using Cycles with Blender 2.83. I tried using a mix shader to include it but wasn’t completely sure what I was doing so only the outline showed and not the colors from the graffiti. I think I have everything down for the rest but this has stumped me so far.

Any help would be appreciated.

I don’t know how to mark a topic as solved but I have worked out how to do it now

I am glad you got it solved. Since you didn’t throw it out there I will provide my own little explanation. Blender provides a number of ways you can do this. I will share one of my pet peeve methods first since it is becoming so popular and that is a “”decal.”” I don’t like them. Not because they aren’t easy, which they are, and nondestructive, but we have been making a lot of sacrifices in blender in terms of ngons, non planar geo, the list goes on, all in the name of being non destructive. I get it, render engines don’t have all the same limitations they used to, but in a large scale pipeline they are a pain to work with and can really break a mesh in a million ways after making a change to your “non destructive “ mesh.

All that said…

Method one (Dirty bitch easy and 100% non destructive)-
Dwcals: Decals work by projecting a plane onto a surface and texturing it like a cookie cutter essentially. They can be useful on curved surfaces because you have a point and click method of fixing stretching but they come with a plethora of other problems if your model changes. There are some cool paid tools also that can make this even easier. Basically you creat a mesh shaped to the alpha of the photo and bool out the part of a duplicate of the target object. Afterwards you can shrink wrap it to the original mesh and move the points around to resolve stretches. As stated the downside to this is that bools are hard on your system, can appear to be floating, and generally are just bad practice because if you need to change software, lamina faces and ngons are a given and that will have to be cleaned up.

Method 2 (my preferred method)-
Multiple UV maps with a look through projection: what I do in blender is I add a camera facing where I want the decal, and on the target object I create a second UV map in the object data tab. I project from view. I then load my image decal as a background in the Uv editor window and move the UVs around in textured view until the decal is where I want it. I use a mix rgb or mix shader node to combine my decal with my original material. Using a UV node I can tell it to get the UV data from the second UV map where I projected the UVs. This is a much cleaner way of going about adding decals. Also nondestructive, and also not going to cause other problems. The down side is it’s a little more complex and if the Texile density of your mesh is low, weak, nonexistent, or you otherwise have poor edge flow, then moving the UVs around to fix the decal if it’s stretching may only cause more problems like warping or pinching.

Both methods have ups and downs but the second is typically considered the more correct or at least “cleaner” method. There are tons of other ways this can be done but in blender, in my experience, these are the obvious first choices 9/10 times.

Hope that helps somebody :blush:

Hopefully all that is understandable. Sent that from my phone haha