How to create multiple PBR textures onto one mesh

Welcome to this tutorial on creating multiple PBR (Physically Based Rendering) textures for a single mesh! If you’re diving into the world of 3D art, you’ve likely heard the term PBR floating around. But what exactly does it mean? PBR textures are designed to simulate real-world materials more accurately in a digital environment. They usually include maps like albedo, metallic, roughness, normal, and sometimes even ambient occlusion. Each of these textures plays a crucial role in how light interacts with surfaces, resulting in a more realistic appearance.

In this tutorial, I’ll be sharing what I discovered for applying multiple PBR textures to one mesh. This approach can greatly enhance the visual complexity of your models, allowing for varied materials without the need to create separate meshes. When I was learning, I found a surprising lack of resources on this topic, so I’m excited to pass along what I’ve learned to help you streamline your workflow and boost your projects’ realism.

For this tutorial, I will be demonstrating on a cube. I will not be separating it, but I will keep it to one single mesh. We will only be doing two PBR textures for this tutorial, this tutorial should work for multiple textures. I am also using version 4.2.2 of blender, 3.6 will work as well.

With your cube, go into edit mode and add a single loop cut. it does not matter if it is vertical or horizontally placed.

Now, go into your properties tab, and go into materials.


You will need to click the + sign on the right side there, to add a second material slot. Then select + New
image
You should have Material and Material.001. Select the material slot, and select the faces on either side of the cube, like this: (or do it any way you want to.)

The faces you want to select should be highlighted. Hit Assign. It is important to unselect the faces you assigned, when done, by clicking anywhere do de-select the faces. To make sure you have all of your faces selected for that material, you can click the select button to show you have them correctly assigned. Again, make sure the faces are not highlighted when you go to assign the other half of your mesh.
I will be renaming my materials simply as “Left” and “Right” for the sake of this tutorial. Since I have the right side highlighted, I will name my material “Right”. Once you have done this, you can do the exact same on the other side.

Next, you should have some PBR textures downloaded. There are many free ones online. I do not suggest using BlenderKit unless you understand how to manually save each texture image required onto your disk. You will need to download a texture with a resolution NO HIGHER than 2k, 4k or 8k is too much for Roblox. 1k is good enough, but 2k is the highest.

Downloading the zip files, I suggest doing JPEG instead of PNG As PNG can tend to be unnecessarily large of a file, but honestly it is up to you.

Once you have your two textures downloaded, I will show you how to open them.
Open your shader node windows. You should have slot 1 and slot 2 (or slot 3, 4, etc for each new material).

Quick Tip: if you lose your place in the node editor, hit the HOME key to be placed back into view of your shader nodes.


In slot 1, for the right side, I will be using a houndstooth texture.
Hit shift + a, and open multiple textures.
image
Find your first material file, and open it.
You should see something similar to this;

Since I am using fabric textures, I will only be needing three images.
1- Albedo - is also known as your base color.
2- Roughness
3- Normal
Hit ctrl to select the images you’ll need, and hit open selected images.
You should have this.


Organize your node tree, click the > tabs to open your image texture nodes.

It does not matter which order you have your image texture nodes in.

For your base color/Albedo, connect the image nodes color to the base color in the principled BDSF.

For the normal, you’ll want to press shift + a, and add a Normal Map.
Link your Normal image texture node, to the normal map node, and connect the normal map node to the Normal principled BSDF.


Optional: change your color space to non-color, and for better definition, change the strength in the Normal Map node to 10. Play around with it for the best results to your taste!
Here is an example of what it looks like on my mesh if I do that.

For roughness, you’ll want to do shift + a, and add a color ramp.
Connect the image texture nodes color to fac, and connect the color ramp from color, to roughness in the principled BSDF node. Change your color space to non-color.

Here is what your node tree should look like.

For slot two, or your second material, it is the exact same process as above. Please do the process again, but in slot 2 with your second material!

This is what the other half of my cube looks like. (Slot 2, left side.)

Great! Now we need to head over to UV editing, and hit A to select the whole cube.
Since I am doing a cube, the UV unwrapping is already where I want it to be, but for any other object you’ll need to press U to unwrap it, and then Smart UV.

Your UV map should NOT be overlapping anywhere, and it must stay inside the box.
This is what you should have:

Now, once your UV map is set up the way you want it to, go back into the shader editor.
In slot 1, Press shift + a, and add a texture image (singular). Avoid connecting it to anything.
Create a new image, don’t change any of the other settings.
image

You can change it to 2048 x 2048 for slightly higher quality, but 1024 is good enough for Roblox. Do not make it higher than 2048.

Good! Now copy the node, and paste it into Slot 2. This needs to be pasted in EVERY slot you have.

in slot 1
in slot 2.

Select both of these nodes, make sure they are BOTH highlighted white, and ONLY these nodes should be highlighted in white. In the viewport window above, also select your cube. It should be highlighted orange.

In the properties tab, go to render.
Change your render engine to Cycles,

image
Under sampling, and under viewport, change the Max Samples to 10.
This reduces the amount of time it takes to bake, and because we’re only doing a cube, we don’t need a thousand samples.

Next, scroll down to bake and change your bake type to Diffuse.
Under influence, uncheck the Indirect and Direct boxes.
You only need to have color selected.
Indirect and Direct will bake the lighting into your texture, which you don’t need.

Reminder to have both your unlinked texture nodes selected and highlighted in white!
Press bake! This may take a few seconds, or several minutes.

When this is done, you should see it on the left side of your screen.
Click the three lines next to View, and open Image.
SAVE this image as your BASE color, and pack it.
Save as… [TextureName_BaseColor}

You’ll want to bake it again, but select bake type to Normal.


Result:
image
Save as… [TextureName_Normal]
Pack it.
Then, finally, set the bake type to roughness. Bake.
image
Result:
image
Save as… [TextureName_Roughness}
Pack it.

Almost done!!!
Now, go to file.
Save your blend file, and go to External Data.
Select pack resources.
image

On export, change path mode to Copy, and select the box next to it to embed textures.
Set your scale to 0.01, and uncheck the animation box.

Import to Roblox, and you should have a mesh with two PBR textures! Woohoo!

Thank you for reading my tutorial!
I hope this tutorial has inspired you to experiment with your own textures and push the boundaries of your artistic vision. Remember, practice is key, you can play around with the nodes and experiment.
I know I struggled for a long time trying to figure out how to do multiple textures into one mesh, and I also hope this tutorial helps aid those trying to learn.

Questions and feedback are highly appreciated!

4 Likes