In this article we cover adding textures in Blender. Let's do the quick way first and then we will go into more depth.
For the quickest way to add a texture to an object in Blender, follow these steps:
Or watch the video for the same explanation.
Here is a list of additional resources that dig deeper into materials and the UV map and unwrapping process. In the continuation of this article, we take a closer look at what happens under the hood when we add a texture and explain variations and expand on the quick setup above.
Related content: The complete beginners guide to Blender nodes, Eevee, Cycles and PBR
Related content: The definitive tutorial to UV mapping in Blender
If you need to find a material to work with you can find plenty of resources in this article.
Related content: Top 32 free texture libraries for Blender and 3D artists
This is what we need to add a texture to an object and see it in the 3D viewport.
In addition, the material needs to contain at least one shader and what we call an image texture node. The shader is in the material by default, and in the introduction, we added the image texture node by clicking the yellow dot and choosing image texture.
Similarly with the UV map, the default cube, or any of the primitive mesh objects we add through the add menu has a UV map by default. This is how Blender knows how to project the image texture on our object.
There are many ways to configure a material and there are many ways to setup a UV map. There are also completely other methods to map a texture to an object, but a UV map is the most universal and supported across, dare I say, all 3D softwares.
However, the material system in Blender is not directly compatible with other software. But it is for the most part compatible between Cycles and Eevee, the default render engines in Blender.
We will not go into depth in any of these areas, but we will look at the basics and see how they are all connected. Starting with textures.
When working with 3D we come across two kinds of textures. These are:
We already saw image textures in the introduction. These are textures made up of an image file stored on disk. When working with image textures, we normally work with a complete set of images called texture maps. Some common ones are diffuse map, roughness map, normal map and displacement map among a few others.
There are also entire programs dedicated to creating these texture sets. These programs can generally output image textures that we can plug into Blender. The most well known one is Substance Designer. A free alternative to check out is Quixel Mixer.
A procedural texture on the other hand is a mathematical operation that creates some kind of pattern. Often a black and white pattern or with very elaborate colors. Some examples of procedural textures are gradients, different kinds of noises and voronoi patterns.
Procedural textures and image textures does not oppose each other. They complement each other and for creating realistic materials it is probably best to know a little bit of both.
These two kinds of textures need a material but use different mappings between the texture and the object.
There are four main ways that we map textures. Two for image textures and two for procedural textures.
For image textures we use:
For procedural textures we use:
Note that there are even more ways, but these are the ones that get us 90% of the way.
This is the most common type of mapping for image textures.
UV Mapping is essentially giving the geometry of the object two extra coordinates. We have the X, Y and Z coordinates in the 3D world. But for the objects geometry we add two more coordinates. U and V.
These are not used in the 3D world. Instead, they get 2D world values. We can use these extra coordinates to tell where in the 2D world the 3D object is.
This is the method we will look at more closely since it is so common and versatile.
For a complete guide on UV Mapping you can read this article here:
Related content: The definitive tutorial to UV mapping in Blender
All primitive mesh objects we can add in Blender comes with a default UV Map, but If you have changed the shape into something else you will have to modify the UV Map. We do this in the UV Editor.
You can check that your object have a UV Map in the properties panel. Go to the object data tab and find the UV Map section.
Here you will find a list of UV Maps for your selected object. If the list is empty press the plus button to add one. Double click it to rename.
For now, we only need one UV map, but take note that we may have multiple UV maps added to the same object. But a maximum of 8. We can later access all of them in our material.
With image texture we can also use box mapping, also known as tri-planar projection in some softwares.
This method takes the image textures and project it from all sides of our object. You can read more about it here:
Related content: Blender box mapping workflow, a quick look
For procedural textures in Blender, we have two different ways that is common for displaying them on an object. We call them generated coordinates and object coordinates.
There are four different view modes in Blender. Two of them are capable of displaying textures and two of them are more geared towards use while modeling or doing other kinds of work.
You can find the view modes in the top right corner of the 3D viewport.
From left to right, the view modes are:
By default, we are in solid view. This changes to material view, previously called lookdev, as we go to the shading workspace.
Related content: Blender viewport shading guide
We can see textures only in material view and rendered view. Material view will always look the same but rendered view is dependent on the current render engine. By default, we are in Eevee.
We can switch view mode no matter what workspace we are in by clicking on the icons.
Previously we said that we need two components to make the connection between the object and texture. The mapping is the first and the second is the material.
A material is like a mini-program. It can range from very simple to very complex. It can have multiple textures as inputs and do all sorts of math to generate a complex material. We can also just have a single texture simply displayed on the object.
In this article we will stick to the simplest possible material. To learn more about materials I suggest that you read this article:
Related content: The complete beginners guide to Blender nodes, Eevee, Cycles and PBR
For more advanced users, or after reading the beginners guide these two articles cover more in depth PBR materials, mixing shaders and working with the node editor.
Related content: Physically based rendering and Blender materials
Related content: Physically based rendering, blender nodes, with brick texture example
The default cube comes with a material. But if you don't have one for your object, select your object, go to the material tab in the properties panel and click the plus button next to the list at the top.
This adds a default material to our object. Double click the material in the list to rename it.
If you are not already, switch to the shading workspace at the top of the interface. At this point you should have an object with a material and a UV Map. We only need an image texture.
There are many ways to add an image texture to Blender. The fastest is to drag-and-drop the image texture into the shader editor in Blender.
This will add an image texture node in the shader editor with the image attached.
Another way is to first add the image texture node by going to the add menu in the shader editor, go to texture and find "image texture". Place the node in the node editor area to the left of the principled BSDF node. Then press open and browse for the image texture you want.
Once we got the image and an image texture node in the node editor, we connect the yellow socket on the right side of the image texture node to the left side "base color" input socket on the principled BSDF.
At this point you should see some kind of texture in the 3D viewport if you are in the shader workspace with material view mode. You added a UV Map to your object and the material is set up with the image texture.
If you don't see the texture, select the object in the viewport, press tab to go into edit mode and press A to select everything. Then press U and choose "Smart UV Project".
This procedure will have Blender generate new UV coordinates based on the "Smart UV Project" algorithm for the whole object. More on this shortly.
Also, don't forget to check out the E-Book.I am convinced that it will help you learn Blender faster. That is why I made it. Click the link.
Suggested content: Artisticrender's E-Book
Now, notice how the Principled BSDF is connected to the material output node.
The principled BSDF handles the math that converts all the inputs into a common output for display in the viewport and final render.
Also notice the purple input on the left side of the image texture node. This is where we can input a UV Map to tell where on the object different pixels of the image texture goes on the object.
Without an input here, Blender uses the default UV Map.
With procedural textures, we don't use the image texture node. Instead, we go to the add menu or press Shift+A in the shader editor. Then we add one of the other texture types. A few good ones to start with are the following:
We replace the image texture node with one of these procedural texture nodes. Then we add a texture coordinate node from the input sub-menu.
The texture coordinate node has many outputs with purple color. Each one of these is a different kind of mapping we can use.
By default, the procedural textures use "generated" output from the texture coordinate node. We can also use the object output for a different mapping.
A common practice is to use the texture coordinate node and plug it into a mapping node before plugging the mapping node into the texture in question.
With this kind of setup we can use the mapping node to scale, move or rotate the texture by adjusting the values.
At this point we have an object that displays a texture in some way. But how do we change how this texture gets mapped on the object? We change the UV Map.
We will cover the basics. But for more in-depth learning, go read this article:
Related content: The definitive tutorial to UV mapping in Blender
This is also the stage where that Zen UV map add-on can come in handy for more advanced or quicker UV map edits.
External content: Blender Market - Zen UV
Earlier we learned that we can find the list of UV Maps for the selected object in the mesh data tab in the properties panel. Here we will see a camera icon next to our UV Map. in case we have more than one UV Map, it is the one with the camera icon that counts as the default for rendering.
But for proper previewing we should also make sure that we select the default UV Map so that the background is highlighted.
Now, go to the "UV Editing" workspace and select the material view mode in the 3D viewport on the right side. This is so that we can get immediate feedback on our changes in the UV editor that we see on the left side.
If you don't see an image in the background in the UV editor, you can select your image from the drop-down menu at the top.
To see all or part of the UV Map the faces in question needs to be selected in edit mode in the 3D viewport.
To make basic manipulations of the UV map we use the same hotkeys as we do in the 3D viewport for transformations and selections are done in the same way.
Click and drag to select part or all of the UV map. Press G, S or R for move, scale or rotate. Also use A and Alt+A to select and deselect.
If you scale the UV map larger than the image, the image will tile across the object.
To recreate the UV Map, in the 3D viewport, select everything or the portion of the object you want to recreate and press U. Then choose one of the projection methods to have Blender recalculate the selected part of the UV Map with the chosen algorithm.
For more info on recreating the UV Map, or rather project the UV map as it is commonly called, check the article linked above.
We can also rotate, move and scale with nodes. Just like we discussed above with the procedural textures. We can use the Texture coordinate node with the UV output, plug it into a mapping node, and plug the mapping node to an image texture node.
This way we can adjust the values in the mapping node to adjust the mapping of the texture.
To see how the texture looks in your final scene, position the camera and press F12. Depending on if you are using Cycles or Eevee this may take very different amounts of time.
For camera movement and positioning check out this article:
Related article: How to move the camera in Blender
If you are having trouble rendering your scenes in a timely manner, even though you have an Nvidia Graphics card, you can check out if Blender is setup to use it by checking this guide out:
Related content: How to use the GPU to render with Blender
If your renders are still too slow, I can highly recommend to check out K-Cycles. It is an unofficial Build of Blender that has a tweaked version of Cycles able to render at a much faster pace.
External content: Blender market - K-Cycles
If you think this content could be helpful to others please consider sharing it on your social media channels. For your own benefit you may also join our newsletter below.
We went from the quickest possible way of adding an image texture to exploring the different parts we need to go from a simple object to an object with material and texture.
We adressed the UV Map for image textures and we are now aware that there are also procedural textures and they use a different kind of mapping.