texturing wall with several decals

I’m wondering what would be the best way to texture a wall with several decals, damaged, leaking, etc.

Right now, using some textures i’ve come up with the following node setup for just one decal.


Resulting in this:


Now i’ve yet to add much more decals and the node already starts looking like a mess and i still want to add some spec and normal maps to the decals, and i think this will be too much work which in the end might not pay off in quality, as the current textured model is not at all to my liking, maybe due to the lousy plaster texture, or lighting setup…

anyway i was wondering if there were more quick ways to texture it. I’ve also had some troubles using the attributes to UV, since i want to only add decals to certain areas (faces) of the plane mesh i had to pick the face i wanted, place it properly in the UV editor and place the remaining faces way outside the box grid so the decal wouldn’t show on other parts of the plane, but this resulted in a very small sized decal texture which even using mapping vector im having trouble resizing because once i do it, the decal “spreads” to other faces.

Thanks.

Use color mix nodes to combine the images.

First, “Way outside” means nothing in UV mapping. Open the Properties shelf of the UV Editor (a.k.a. [N] panel) and enable “Repeat” in the Display panel. Now you see the UV map like Blender does… and what you actually did with your faces “way outside”.

What you’re supposed to do to prevent faces from using a decal is to shrink them in a fully transparent area.

Next, I’m a bit of a maniac with my node trees so… Don’t take my comments as a personal attack. Your node tree wouldn’t pass my quality tests.

I would give an F to your work. It’s a mess. You have nodes all over the place without any kind of order. I would group nodes like you somewhat did at the bottom. However, you violated one of my unwritten rule: “Don’t cross the wires… unless you have no choice.” That little group should be at the top of the screen and definitively more squeezed together. Select the 4 nodes, [S], Y, 0, [ENTER], [S], X, push the mouse, [LMB].

The next step to clean things up is to really group the nodes with [CTRL G]. We can have nested groups, now! The first thing I’d do is to hide Godzilla (the giant Mapping node) with its little tail (the Attribute node) into a group. Even if you stretch the group node to the max, you still freed half of your screen… at least. :wink: It hides a lot of parameters but it’s not a big deal to press [TAB] a little more often.

After that, I would give to each of the textures its own appropriate little UV node group so I can group it with the Image Texture node, eventually with the associated Shader node. For the normal map, I would also include the Normal Map node and pull a noodle to expose the Strength. For the bump map, you can include the Math node and expose the multiplier Value. That Color Mix node can as well be included in the group with its texture. You just need to expose the color and the factor.

And don’t forget to give good names to the node groups!

If you did only the half of what I suggest, you should see more clearly through your node tree. Now, if you need to add another layer, you just add another Mix Shader node and duplicate the right node group. (Don’t forget to make it unique before to do changes!)

Last thing I can think of: Kill the “RGB to BW” node. It’s useless. If you don’t actually need the greyscale version of an image, this node is useless. Blender will automatically convert anything that you plug into a Value socket.

Class dismissed! :wink:

EDIT: Rich33584 beat me on the finish line. (I’m too talkative.) And he’s right. Use Color Mix nodes as much as possible instead of Mix Shader nodes. It will speed up Cycles work… And you can group them too!

Thanks for the replies. After implementing such changes my node layout severely improved, but i don’t give a crap about that right now, im still not getting the results i want mainly due to the poor UV layout. The attributes are not working as i wanted and the decal UV map is being applied to the whole plane.

Once in the UV editor, with the N panel displaying, there’s no “Repeat” option where it should be. Is there any other way to texture the whole mesh with different textures other than using UV maps?

thanks

If you want real help, you need to post the blend with all textures packed.

For the “Repeat” option, you must have an image displayed.


I really think this option has always been (hidden) here.

For your problems of unwanted repetition, you must activate the Min and Max options in the Mapping node.


In this example, you can see that the biohazard symbol doesn’t repeat, even if the UV face is larger than the texture (highlighted in green). In that case, and in that case only, “way outside of the texture” would really work as you expected.

As for using textures without UV coordinates, the short answer is: No can do! Period.

Blender will always need a way to know the position of a texture on the faces of a mesh. The Texture Coordinates node proposes various things but, in the end, they are all UV (or UVW) coordinates. If you don’t provide any, Cycles will use the UV map, even if it totally FUBAR. And if you think of Texture Painting, well, you also need to unwrap and to use an UV map…

We are the UV coordinates. Resistance is futile. :wink:

Nice theme color there Kaluura. Anyway thanks for the replies. After enabling the repeating option i’ve placed the faces where i did not want the decal to be visible and shrunk them in an alpha area just like you said and that sorted the mapping problem. Now its just a matter of figuring how to mix the different color group nodes i’ve created (each node group has 3 images, diffuse, spec and normal, leaving bump for the end) since a color mix node can only handle two at a time apparently.

Anyway what you mentioned about texture painting was what i’ve been thinking all along, even though i never really used it, i thought it would go somethin like this; you paint over a certain area with a color and make that color an UVmap or something, so you’d have the decal texture assigned only to the painted area, dunno if this is possible or not.

Well thanks a bunch you guys. If i have any more problems i’ll let you know.

thanks.

Just feed the resulting mix of 2 images into another color mix node and keep repeating the chain.

Since you’re using shaders in your node groups, now you need to use Mix Shader nodes of course. Just expose the needed alpha channel as output to be able to use it as factor.

For example, here is a material with a base and 3 layers of decals:


The inside of the node group “Black”:


We have diffuse, spec (Voronoi) and bump (Noise) and I just pulled a line from the alpha of the texture to the Group Output node. Easy as pie and quite clean… At least, readable. :wink: