In this article I explain how to use textures in Blender in the simplest way I can. I also want to expand on just adding a texture so that you can do simple adjustments when needed.
How to add a texture in Blender? Go to the shading tab, drag and drop an image texture into the lower portion of the interface. Click and drag the yellow dot on the new image texture node and drop it on the yellow dot named "Base color" in the "Principled BSDF" node. We can now see the texture on the default cube.
In most cases, this is what we need to add a texture to an object and see it:
In the rest of this article, we will take a close look at how this all works using image textures and how we can change how the texture gets mapped to the cube. We will also widen what we know about different kinds of textures, other mapping methods and get into some basics of materials.
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
If you are looking for a really convenient way to add and manage materials in Blender, you can check out materialiq. It also comes with a sizeable library to work with right inside Blender.
External content: Blender market - Materialiq
But let's now get on with how we can add a texture to our objects in Blender.
In the introduction we started with a very simple example. Under the hood though, much is already setup for us. However, there are many questions that we haven't yet asked or answered.
How do we know that we add the texture to the cube? What if we have multiple objects, how do we know what object the texture is applied to?
Why is the texture rotated the way it is and why is only part of the texture applied to each side?
Essentially, we need a way to make a connection between the texture and the object. In the introduction example this is already setup for us as part of the default scene.
There are two components between the object and the texture. A material and some way of mapping the texture to the object.
To make things a bit more complicated, there are also different view modes and render engines in Blender. We will not go in-depth into this here, but we need to make sure that we distinguish between modes where we can view textures and where we cannot.
When working with 3D we come across two kinds of textures. These are:
We already touched on image textures in the introduction. These are textures made up of an image. It can be any photo or image made in a 2D image application like photoshop.
There are also more specific tools dedicated to creating textures. These programs can generally output image textures that we can plug into Blender.
A procedural texture 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.
Don't be fooled though, we can create very realistic textures with the procedural method. In fact, many consider it to be the future of texturing.
These two kinds of textures need a material but use different mappings between the texture and the object.
You can check out this article to find a lot of texture-based materials.
Related content: Top 10 material libraries for Blender artists
There are four main ways that we map textures. Two for image textures and two for procedural textures.
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. We can later access all of them in our material.
As a last note on this topic before moving on, I can also recommend that you check out Zen UV. A very popular add-on with lots of additional tools to edit your UVs faster and easier.
External content: Blender Market - Zen UV
For those of you who work with texture painting or want to export to something like Substance painter, UV Packmaster is the best tool I have ever seen to quickly pack a UV map.
External content: Blender Market - UV packmater
With image texture we can also use box mapping, also known as tri-planar projection.
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.
These are pretty simple and similar, so we will look at them closer to the end of the article.
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.