How to make decals project only to a certain material?

Hello, Im trying to create a vehicle customization and i wanted to apply some decals, but i didnt want that the decal got project in all materials/surfaces like windows, tires, rims etc… i only wanted it to be projected in the body material/surface. Any idea how can i do this?

Hey there @Lamaral14! You could head into the static mesh details under Render and uncheck receives decals for any mesh you don’t want receiving the decals. Would that work for you use case?

Hi, it doesnt really work for for 2 reasons:
-some meshes have more than 1 material (metal and plastic for example) and i dont want to paint the plastics just the metal.
-Also if i want to add some blood splaters to the glass for exemple i wont be able to do it

Ahhhh so I did a bit of digging to see how to alter a material’s decal response and it looks like each material can have an individual response setup in it’s details. You can set which channels it will actually apply to, if any at all.

image

Do you know how to set this channels?

is that, this aint really helping, it just changes if receves normals or roughness maps etc. It doesnt realy let me choose wich decals it can recieve

If set to none, some decals that i want will not work

Ahhh apologies, this method would allow you to selectively allow/disallow the decals between materials, but there doesn’t seem to be a straight forward method of allowing only specific decals on specific materials. It seems working with the Dbuffer that this option messes with would be the best option if you’re working from the source.

Custom Decal Response may hold the keys you are looking for (@ 3:40):

1 Like

Dont show quite well how to set that custom decal response

I found a bit more information on the custom decal response. It seems documentation may not have caught up to this feature yet but this user shows off a solid example that might point you in the correct direction.