Placing a label as part of a material

I didn’t know how to put this, because I’ve seen many techniques for it, and none of them I’ve found are ideal for a CAD to finished product rendering workflows.

My current workflow, not in blender, is to get graphics in actual size in illustrator. They are black and white images representing each printed color on a product, shown prependicular to the tangent of whatever the graphic is (usually that’s just straight on front, side, top, etc, but sometimes will be at the angle of a curved surface, which gets trickier). I bring that graphic in, and it’s already at the correct scale, defined as a plane, and place it. Using that black and white map, I can just use two materials. One is an instance of the material that is everywhere else, and the other is the that color of the graphic. If it’s multiple colors, you get multiple black and white maps, and need to layer them properly, just like they do in manufacturing.

So in blender, it looks like lots of people are using a shrink wrap method. Simplified, you add as a reference image plane, which adds the image at the correct aspect ratio. Subdivide the heck out of it, place it near where you want, and shrink wrap it to the other object, with a tiny offset. But, of course, the topology won’t match, so you have to go Crazy with subdivisions to not notice, and use a careful balance of offset, but not so much you can see it. Also, the transparent areas of that plane cause issues with denoising, so get ready for a pretty high render time.

I can add dummy and place an object as a separate UV channel, but have the added issue of projecting all the way through the object, and if you have a specific size, that gets Really difficult to control. Like, the aspect ratio? I’ve got to do math on each one? Sure, if it’s my own workflow I can stick to 1:1, 1:2, 1:4 ratios to be sure the math is incredibly easy. But often times I’ll get someone else’s work and it’ll be something like .223in x 1.47in at 455dpi. Yay for very specific manufacturing specifications! And yes, that has decimals in the pixel size, and no, that’s not ideal (but a half pixel off is better than the tolerance of manufacturing, so I’m ok with that.

I ended up purchasing the Eyek add-on. It’s really cool, but really it’s just baking the textures to a map. You have to create a Really high resolution map, AND have to actually have your object decently unwrapped. CAD data imported does Not unwrap well. There are Tons of vertex problems that you don’t really see until you modify Anything at all, because it has custom normals.

Does anyone have a decent workflow for adding labels? And for those that think a method involving a couple extra steps for each label isn’t a big deal, imagine having to label a keyboard, where you have the letters as one map, the function keys as another, a second color and second graphic next to the function keys, the media keys, and the special characters above the numbers are also a different color. After you get it all set up, the client comes back and says “we’ve decided to change all the keys from black to a slate navy. And also we added a dished shape to the key to make it more comfortable, so update the geometry as well.”
Now, suddenly, doing this with just maps is super helpful. But setting up the maps isn’t all that easy.

Ideally, I’d like to do things Just like Eyek, where I import a texture as an image plane, and place it where it needs to go. But then just use that plane to position the graphic on it’s own UV map. Where EyeK is actually baking that to an unwrapped uvmap, which loses a LOT of quality if something like a keyboard needs to be a single object.
And an extra bonus to you if you also know a good way to create some sort of masking technique that allows you to specify a depth from the plane so that it doesn’t project all the way through an object (but without having to uvunwrap the object). I’m sure it would have to be through an add-on or something, but it could use an extrusion from the rectangle at whatever depth, then only project onto the faces that intersect that box.

Anyone have a better technique, that is as procedural as possible?

Can you provide a summary? :slight_smile:

I do it by placing and empty and then use he node texturecoordnate > object (reference empty) to position ithe image within the material shader of the target.

But I don’t know whether you already mentioned it or if it fits your requirements.

With labels going onto things like bottles, I tend to model the label flat to the correct label dimensions, with some subdivisions. I then use a Solidify modifier to give it appropriate depth (and also a different material for the back and very thin sides). Then I use the Simple Deform modifier to bend it around the bottle

For keyboard, I think I’ve only ever done one. I used UV unwrapping. I arranged the islands so they made sense. I created the texture as a layered PSD which I used in Substance Painter, but which Blender can easily use as well if I’d textured only in Blender. Doing it this way means I could easily change the shape of the keys if I wished. I’d just have to unwrap and reposition islands to match the PSD. It also means I could easily change the actual texture of the keys, colour or what’s on the key caps.

I use decal machine for putting graphics on products, it’s flexible, fast and easy. It also adapt the decal with the same topology as the model you apply it on. I just love that I don’t need to add my decals with materials and UV’s. Just load my png file and create a decal and the just place it on my model and render.

I decided to buy decal machine. But sadly…same issue. It isn’t noticeable on top of a simple material.

I’m not sure what’s going on with the decal machine logo there either. I haven’t been able to look into it yet. That was end of day, and now our IT company installed SentinelOne. Apparently if you have an eGPU, paired with SentinelOne, photoshop and blender Basically don’t work. It takes like 30 seconds to do anything, then you have to wait again. Still waiting on IT to disable it so we can confirm that’s the issue.
Anyway, notice that you don’t see an outline on the plain material, but on the material I created with some bump map involved, you can see the sampling isn’t the same when going through the bounding box of the plane.
The AvaUV logo is the original that I created without any add-ons. And the other plane there is using decal machine.

That logo is supposed to be chrome, and purple chrome, basically. In this particular case I’ll probably import it as svg, add some thickness with a tiny bevel for getting good highlights, then add a little bit of deformation on the bump because it doesn’t end up looking perfectly smooth. But I still want to know how the concept works. And I’ll still use decal machine eventually. I need to render with screws a lot. And as long as they aren’t button head screws that sit proud of the surface, that should save lots of geometry.

I’m still trying to find some tutorials on decal machine geared toward just images also (seems like they call those ones "info). Their tutorials for All their plugins are kind of all over the place, which makes getting into them just a little a bit daunting. I just want to know how I could use it into my workflow, but they always quickly go into things like “look how easy it is to make this look like a sci-fi complicated thing.” No man, I just want to use it to symetrize better, or make this type of hole better, etc. They all seem complicated enough that you can’t easily just kind of use them a little here and there.
But it Seems like if you want to use decal machine to do this, you have to add the file to the decal machine library, Then use it as a decal. That seems like quite a few steps for basically just adding an image to a plane. Sure, makes sense for the more complicated things like the 3D representations. But the help file isn’t super great either.