Multiple PBR on a single mesh

Is it possible to texture paint PBR that includes albedo, metalness, roughness, normal and displacement on to a mesh?

I have a 3D mesh and a tons of PBR textures. What I need is to sculpt multiple displacements in to the mesh using texture and stencil mapping function but then I am left with a mesh that is fully detailed in terms of geometry without any color because I don’t know how to place all the maps mentioned above on to those sculpted areas using displacement texture.

unwrapping a mesh and adding PBR with a single image that includes all the PBR textures is easy but adding multiple images that includes all the PBR textures on to a single mesh is nowhere near my knowledge.

Is there any other appropriate method to achieve what I need?
I am also not sure if sculpting a displacement texture on to a mesh is the best approach.

I hope you understand what I mean… its kinda hard to for me to explain it.

here is what I mean by displacement images that are sculpted in to one mesh

If i am understanding your request correctly, you may be able to achieve the result you want by the using the displacement texture as a mask in a mix node. You may need to use colour ramps and invert nodes to get the mask to work correctly.

Hi, seems very promising. can you give just a tiny bit more info of how to do it or do you know about any video? thank you

Just a few questions. The PBR material you are using is it a repeatable/tileable texture that simply needs to be applied to areas where you have displacement?

Do you have a base material you are using for the areas outside of the painted displacement images?

If yes to the above questions then setting up the material is as follows. (May need to tweak it as i am away from my PC and i can’t test it)

Set up your principled shader as normal but plug it into a mix shader. Plug the displacement map into the factor of the mix shader node. You may need to flip the BDSF inputs if it doesn’t look right. Or use a colour ramp to change how the textures blend together.

You will need to chain multiple mix shader nodes together.
So mix shader 1 is base material and first PBR material
mix shader 2 is the output of mix shader one and the second PBR material.
mix shader 3 is the output of mi xshader two and the third PBR material.
Repeat as many times as you need to before finally connecting the mix shader to the output node.
For each mix shader use the displacement map as the factor.

If you want to use the displacement maps in the final shader you will need to mix all the displacement images before plugging them into displacement map node. You should only have one displacement node at the very end.

If you need any images to show you the setup I can get screenshots when i get home.

for both questions.
yes it is repeatable/tileable texture.
for the base material if I understand correctly I will have base material for the areas outside the painting but it will be another PBR texture that has displacement image as well.

I managed to route it correctly atleast I think, it makes sense and it did the job however I end up having multiple pbr texture on top of each other. as you said I need to use displacement texture as a mask in a mix node which I dont know how to or what to search for on the internet.

I think it might be better if I explain what I want a bit better so you have better image what I need.

I need a mesh that has albedo, metal, rough, normal and displacement applied over the whole mesh, then I need to apply another multiple pbr textures onto many different areas so each area of the mesh will have a different pbr but then I stumble over conclusion that having displacement on top of other displacement is bad so I found a trick to convert material displacement to geometry, that way I can have the base mesh ready with engraved displacement and not worrying about displacement on top of other displacement. then I thought if I make a seam for every specific pbr its enough but I will end up with unblended edges of the textures for each, well this should be hidden using texture painting but the division is going to be there sill though.

Im still not sure if this (my) workflow is the best for this type of result.

I had a look at my previous file and i used vertex paint to blend the material together where i wanted them this video shows you the setup and how it works. You may need to revert your base mesh back to its orginal form.

Here is the final mix shader i used in my setup.
I have used the vertex colour (red node) to blend the Displacement map (using the mix node (yellow)) and the PBR shaders (green).

Here are the results, the exposed soil and grass PBR materials are divided based on what I painted


If I understand you correctly this should help you achieve the results you want.

you are amazing. I think this is exactly what I need. Thanks a lot!

1 Like