Blender has many modifiers that can help us with many things. But there is a handful of modifiers that keep coming back, and we use them over and over.
In this article I want to give you a starter kit of modifiers. The ones that will be the most useful and probably the ones you will return to time and time again through your modeling journeys ahead.
If you are looking for information on how modifiers work and the modifier stack in contrast to specific modifiers, check out this article where I go over the modifier stack, anatomy of a modifier and everything you need to know to understand how they work.
Related article: How modifiers work in Blender, an overview
Here is the list of the most important modifiers to learn in Blender:
Each one of them has a different use that we will cover. In this article I will stick to explaining them in isolation mostly, but modifiers only become useful when we learn how we can combine them and create complex objects and arrangements in very little time.
The modifiers are not listed in any particular order. If you are interested in a specific modifier, I encourage you to skip ahead and read that section.
The array modifier can add copies of the geometry in our object. At first this may not seem very interesting, but it is one of the most useful modifiers we have access to.
There are so many places where repetition is useful. A few examples would be stairs, fences or just about anywhere we need duplicate objects.
Let’s look at some settings to see what options we have.
At the top there is a “fit type” drop-down menu. Here we select what parameter will decide how many copies we get in our array. Normally this is a fixed count. But we also have an option to set a length or a curve. It the case of length, Blender will measure how many copies fit in the distance and add that amount.
The curve option may be a bit confusing. This option does not make the array follow the curve. Instead, it just takes the length of the curve and uses that as the distance instead.
So, no matter what direction we bend the curve, it is still only its length that dictates the length of the array.
To have an array, follow a curve we will have to stack it together with a curve modifier.
Next, we have three different areas of the interface that together dictate the distance, or offset between each copy in the array.
These parts are:
We can use one or more of these offset methods together. By default, we have relative offset turned on.
Relative offset will use the size of the object and let that be the value 1. Then we can change this value in any of the X, Y or Z axis. Set this to 2 in any axis and another copy will fit right in the middle, for instance.
The constant offset takes a unit, by default its meters, and adds that distance between the object.
The last alternative will use a secondary object. En empty object, for instance, and use the distance from the array object to this secondary object as the distance.
Note here that object offset works not only for location, but for scale and rotation as well.
Using an object as the offset we can therefore make a circular offset. Or perhaps an offset that scales up or down with each copy.
The fit type, together with the offset, makes up the bulk of working with the array. But I will briefly touch on a handful of other settings.
The merge check-box allow an array to merge each copy that touches, so it becomes part of the same connected piece of geometry. “First Last” add to this feature by allowing the first and last copy in the array to merge in case we are making a circular array. The distance slider decides the distance between the vertices that will merge.
There is also a start and end cap. Their slots can hold a secondary object that will attach to each end of the array. Imagine making a snake and attaching the head and tail to each end, for instance.
For last, we have the U and V offset. This allows us to offset the UV Map for each copy so we can have a different piece of our texture applied to each copy.
How can we combine the array with other modifiers?
The array modifier is probably combined with some other modifiers more often than not.
One example is the curve modifier that allows us to have the array follow a curve. This gives great control and makes it simple to place things like a fence over a terrain object or place a rail along a staircase.
The bevel modifier is interesting. It has many settings that we can use to tweak its properties and change its behavior.
In most cases, we use the bevel modifier to create bevels as details. To remove the ultra-sharp corners of our meshes and allow some light to bounce on them instead. In other cases where we want to use the tool to make larger shapes, we can use the bevel tool instead. But for the details the bevel tool will add too much geometry in edit mode making the model more complex to work with than it needs to be.
Let’s look at the settings we got to work with.
The most important settings are width, segments and limit method. Let’s start with those before we cover the rest.
The width will decide how wide the bevel will be. If it is a tiny bevel or a very broad one. Segments will decide how much geometry we want for each bevel.
Something to keep in mind for the segments is that an odd number will create a triangle in the center of each corner while an even number will maintain an all quad topology at these intersections.
With the limit method setting we can tell where on our model the bevel should go. The default of “None” will apply the bevel on every edge.
The next option is angle. With this setting, we can choose an angle as the threshold for where our bevels will go.
With the weight option, we can mark the exact edges we want to Bevel. We do this by selecting the edges we want to bevel in edit mode, press “CTRL+E” or go to the edge menu and select “Edge bevel weight”. Then, set a value that represents how influential the “width” value will be on the selected edges.
The last option is to use a vertex group.
Those are the most influential settings. From here it gets more specific.
Let’s look at some check boxes. The clamp overlap will make sure that no mesh becomes intersecting thanks to this add-on. But sometimes we might want to stretch this a bit and deselect it.
The mark seams and mark sharp check boxes will mark around the bevel and not inside it. This means that we will end up with a marking on either side making these less useful than if we could mark down the center along the bevel.
There are two more settings I want to touch on. That is harden normals and the width method. The width method will use different values to determine how the bevel will spread. The best you can do is to try them in your given scenario to see what works best. I go with Offset or Width most often.
The harden normal is a slightly more advanced feature but sometimes needed for hard surface models. To use it you need to enable auto smooth in the object data tab.
It will even out the shading where the mesh can be prone to shading issues. The same goes with the “set face strength mode”. But this setting works together with a weighted normals modifier instead. It helps us tell Blender how important certain faces are in terms of shading. We then use this information in the weighted normals modifier.
There are a few more settings, but we will stop here for now.
If you work with bevels that is causing errors for you, you can find out more in this article on how to troubleshoot bevels.
Related content: How to solve bevel problems in Blender
So how does the bevel modifier work when combined with other modifiers? One example is if we want to use a subdivision surface modifier but want to maintain the shape a bit we can sometimes get away with adding a bevel modifier above the subdivision surface.
Most times the bevel modifier is also capable on its own to just add a little geometry at the edges, enabling us to get those nice light reflections in our renders. Using the bevel tool instead of the bevel modifier is a common mistake among Blender users.
The boolean modifier has been trending for a while now in the Blender community. It has become very popular to work with boolean operations to cut out the shapes you need from a solid object instead of starting with a primitive and adding to it. It is also closely related to kit bashing workflows. Meaning that you have a kit or set of assets you put together to create an object or to decorate an object instead of creating from scratch.
The boolean modifier takes another object as input and performs a boolean operation between the host object and that other object.
There are three available operations.
Difference is by far the most common operator. It subtracts the input object from the host object.
The union option tries to add the input object to the primary object. This often results in artifacts in the viewport because we duplicate the input object into the primary object and therefore they will exactly overlap.
Intersect will remove everything from the primary object that is not contained inside the input object. This often causes glitching in the 3D viewport.
To get rid of the glitching it is common practice to hide the input object both from render and viewport. We can do this in the outliner by going to the filter menu and add the camera icon. Then deselect both the eye icon and the camera icon to render the input object invisible.
Another more practical way instead of completely hiding the object in the viewport is to set viewport max draw mode to wireframe or box.
We do this in the object tab. Find the “viewport display” section and set “display as” to bounds or wire.
Sometimes boolean operators can be error prone. They are picky about how your geometry looks and sometimes create errors that may not be very obvious how to solve.
For these situations, I have written a guide on what to check and how to troubleshoot boolean. You can find it here.
Related content: How to solve Boolean problems in Blender
There are many use cases for the boolean modifier and it is often stacked multiple times to cut away different parts of the same object using multiple input objects.
This is a common practice in hard surface modeling, for instance.
The mirror modifier is the tool to use when we want to model something symmetrical in Blender. It mirrors all the geometry we have on the positive or negative side of an axis across to the other side.
This is useful whenever we want to model something symmetrical. It means that we can model just half the object and get the other half for free.
Let’s look at how it works.
The mirror modifier uses the object origin point, represented by the orange dot in object mode to mirror along.
When we add the mirror modifier we therefore want all of our geometry on one side of the origin in most cases. We can do this by making an edge loop along the middle and delete one side or just go into edit mode and move the geometry to one side.
The mirror modifier may at first appear to have many settings. However, most of these are just deciding how to mirror and how to deal with geometry that intersect at the middle.
In most cases, we only need to touch the axis settings and the clipping check box. Let’s look at the axis first and come back to clipping.
By default, the mirror modifier mirrors along the X axis. Notice that it is mirroring along the X and across the Y.
In the beginning, this can be unintuitive.
We can mirror along one or more axis, allowing us to sometimes model just an 8th of an object if it is symmetrical on all axes.
When we mirror across an axis, we are mirroring both ways. The bisect check boxes lets us boolean away anything that crosses the middle of the mirror axis.
We can then change side with the flip checkbox for that axis.
If we now move down further to the “mirror object” setting, we can use this setting to mirror across another object’s origin point.
Imagine that you are modeling a small piece in a larger symmetrical model. This piece is its own object and is supposed to be mirrored from one side to the other. But you want the origin point to stay with this piece instead of having it in the center of the entire collection of objects.
Here we can add another object in the center add select it here.
Now, clipping. The clipping check box will clip any vertex that is moved across the center. This means that once a vertex is on the center line between the mirrored sides, it will stick to that plane.
This is very useful. It allows us to stick two symmetrical pieces together in the center without worrying overlap between the two sides.
The merge setting will merge a vertex with its mirror if they are within the merge limit distance of each other. This works well together with clipping.
The vertex group option will try to mirror the vertex group data from one side to the other. We use vertex groups for many things in Blender. This makes it possible to mirror any effect that involves vertex groups.
Left for last is the texture's area. These settings allow us to offset the UV Map for the mirror, so we need not have an exact mirror of the texture along with the model.
The mirror modifier is one of the most common modifiers. There are a lot of symmetrical things in the world. Everything from characters to cars. Tables, chairs, and violins are mostly also symmetrical just to name a few objects.
The solidify modifier adds thickness to your geometry. If you have an open mesh, like a plane, the solidify modifier will add thickness so that there is now some volume there.
The concept is simple, but there are quite a few settings. The most important of these is the thickness slider.
The second most important option to know is the “even thickness” checkbox. It will help you keep straight edges when doing hard surface modeling. Without it, the thickness is based on interpolation between the surrounding geometry.
The high quality normals checkbox can help with geometry that glitch when Even thickness is used. Here is an example with the monkey object.
Next, “fill rim” and “Only Rim”. Fill rim will create geometry between the existing mesh and the new adjacent mesh being created. Only Rim will then reverse this and only create the rim. This becomes very obvious by just trying.
The crease section will mark new edges with a crease value. If we add a subdivision surface modifier after the solidify in the stack, we can use these values to sharpen the edges created with the solidify modifier.
Then we have material index offset. These changes will change the material slot for the new geometry. This means that if we have multiple materials on the object, we can increment these to switch to the next material listed in the material tab.
If you want to solidify a portion of your object, you can do that with a vertex group. Paint your mask in weight paint mode, then select the mask in the drop-down just below the clamp value.
And while we are on it, the clamp value will set a limit to the thickness value.
Since we only have two settings left, we might as well talk about them too. Offset and flip normals.
Every face has a front and a backside. You want the front side to be viewed or you may end up with many glitches and artifacts. Therefore, we sometimes need to flip them if they point in the wrong direction.
The offset value will change how the original mesh will be pushed to create the thickness. By default, we push in one direction. Change offset to 1, and we will push in the other direction. This is one of those times when you might want to flip the normals.
With an offset of 0, the solidify modifier will push equally in both directions from the original geometry.
We often combine the solidify modifier with other modifiers, such as the bevel modifier or subdivision surface, to create a more detailed geometry.
We make most objects from smaller simpler parts that together create the impression of complexity.
The solidify modifier is often a much-needed component in many of those simpler objects.
Earlier, I said that the array modifier may be the most used modifier. I was probably wrong and the spot for the most used modifier in Blender should go to the subdivision surface modifier.
Subdivision surface is commonly shortened to subsurface or subsurf. They all refer to this modifier.
It takes the existing geometry, adds a vertex in the middle of each face and divides each edge, then draws new edges to each new vertex. Then it interpolates between the new and old geometry to create a smoother result. Kind of, at least.
You can read about the math on Wikipedia here if you are interested.
External Wikipedia article: Catmull–Clark subdivision surface
The result is always a quad only topology that gets smoothed.
If we don’t want the smoothing and just the extra geometry, we can choose simple instead of Catmull-Clark.
The render and viewport settings just determine the number of iterations for viewport display and final render. Generally, we want the viewport to be lower, so we do not bog down our viewport with too much detail. Then we keep a higher number for the final render to get better quality.
We may be tempted to increase the quality slider, but it rarely has much effect on the actual quality. It only refines the exact positioning of newly created geometry, but the positioning is normally good enough without adjusting this value. Yet, a too high a value can cost performance.
The drop-down menu that is set to “Smooth, keep corners” is a UV Map setting. With this setting, the UV map will be smoothed as well except for the outer bounds. If we don’t want any smoothing on the UV Map, we can change this too sharp.
Optimal display only affects the viewport. If we disable it the geometry created with the modifier won’t be drawn.
“Use creases” toggle if this modifier will take creases into account or not. We briefly touched on creasing while looking at the solidify modifier.
In edit mode, we can select an edge and press “shift+e” to mark an edge with a crease value between 0 and 1. An edge with a crease value of 1 will maintain its original sharp position. Any value between 0 and 1 will interpolate between the original position and the smoothed position.
The subdivision surface is for 3D modeling what butter is for a sandwich. One can be there without the other, but it is so common that it even got its own shortcut in Blender, and it is the only modifier that do.
You can add it in object mode to your selected mesh with “CTRL+1, 2 or 3”. The number you choose will be the level of subdivision applied.
Subdivision surface is common to use when we want smooth rounded shapes and more detail. The extra geometry helps with shading, making smooth surfaces and accurate shading much easier to accomplish.
The displacement modifier differs from all the previously discussed. This modifier does not add new geometry, but deforms the existing.
If you look at the list of modifiers in Blender, you can see that displacement is in the second column from the right. All modifiers in this column are deform modifiers.
Displacement takes a grey scale texture as input. It can be a procedural texture or image texture. The displacement modifier raises or lowers the geometry from the original position based on the data in the texture.
When dealing with PBR(Physically based rendering), a displacement map is often part of a set of PBR maps making up a full material.
Using the displacement modifier is one way that we can get this effect.
Another way is to use displacement within the shader itself. But that is a story for another time.
So what about the settings? First, we have the texture slot where we input either a procedural or image texture. Press new then the icon with two kinds of half-filled bars on it to the right. This will take you to the texture tab in the properties panel. Here we can choose between a range of different procedural textures or an image texture.
We can also input a movie file, but we won’t go into that right now.
For the procedural textures there are several settings for each one that we can play with. If we choose an image texture, we can go into the image section and under settings we find “open”, this should be visible by default.
Here we can browse for an image texture that we want to use for displacement. You can look in my resource section on the site to find websites with free PBR texture maps available.
Related resources: Artisticrender texture resources link collection
Back in the modifier tab we normally use UV as the texture coordinates for image textures. The other options are generally meant for procedural textures.
The direction is most likely normal, meaning that the displace happens toward the normals on each face.
We can also set this to a fixed axis.
The last option “RGB to XYZ” is interesting. This allows you to use vector displacement in object space if you have a texture that supports this. Object space means that this is a feature that is limited. For instance, with animation.
We won’t go deeper into that, I just want to stir up some thoughts for you around what might be possible.
Let’s move on. Vertex groups do what they always do, limit the influence of the modifier.
The strength value decides how intense the effect should be, while the midlevel is more of a fine-tuning setting. Adjusting it shifts the geometry position up and down. The need for this become clear where we have corners on our mesh that may intersect if this value is off by too much.
That is all the settings for this modifier. Most of the times, the ones you need to keep a closer eye on is the texture itself, midlevel and strength.
When combining displacement with other modifiers, displacement is more often than not combined with a subdivision surface modifier above it in the stack. This creates the extra geometry often needed to get most details out of the displacement texture.
The lattice modifier is probably one of the most underrated and under-used tools. Whenever you need a curved surface or perhaps deform an object in a custom way, a lattice is useful.
A lattice is a kind of helper object that has some number of control points that we can move around. Through the lattice modifier we can deform an object according to the adjustments of these control points.
A good example of a lattice use is to create thick cloth in Blender. You can read my guide on how to do that through this link.
Related article: How to make thick cloth in Blender
The modifier itself is simple, we select the lattice we want to affect our object. Sometimes we may also want to select a vertex group that can be affected instead of affecting the whole object. Then we may want to adjust the strength to limit how influential the lattice is as a whole.
But to use a lattice, we need a lattice object. We can add one through the add menu at the top of the 3D viewport or through Shift+A.
We can transform a lattice just like any other object in object mode, and we can manipulate the control points in edit mode.
We can change the number of control points in a lattice by going to the object data tab. Here we can change the U, V, and W resolution. These axes correspond to the X, Y and Z coordinates, but are not exactly the same thing, so they have different names.
We often combine the lattice modifier with other modifiers and even other lattice modifiers.
For instance, you may have transformed your object through a lattice but there is some part of it that is hard to control with just the control points of this one lattice. In that case, add a second lattice that can influence the object in some other way.
A lattice object itself can also have modifiers on it to deform it non-destructively. Even if the modifiers are more limited than for a regular mesh object.
One way to think about a lattice is a non-destructive proportional editing tool.
Anything that needs to be custom fit in a scene can benefit from a lattice.
The curve modifier is like the lattice, a way to simplify control over your object.
With a curve, it works best with objects that are long and repeating. It is ideal to combine with the array modifier.
The curve modifier needs a curve object to function and a deform axis.
The deform axis is easiest kept at X and then you ensure that both the object and the curve share the same origin point and rotation. Then, as you move the object along the local X axis, it will follow the curve.
As usual, we can use a vertex group to have just a subset of the object masked to follow the curve.
We can use the curve modifier, often together with an array to create fences that follow a curve or perhaps pillars or street lamps that can follow a curve together with a road.
It is a very useful tool for many everyday things.
This is a fairly new addition to Blender. This modifier is in the “modify” category. The modifiers in this category rarely modify the mesh of an object. Instead, it works with other data like vertex groups, UV Maps or in this case, normals data. The normals are the direction any face, edge or vertex is pointing. These normals dictate how an object is shaded. If you have ever taken a cube and right clicked and switched from flat to “smooth shading”, you will most likely have seen a pretty weirdly shaded cube. But as we add more geometry to the cube, the more sense the smooth shading makes.
This modifier, together with most settings in the normals menu, accessed through “alt+n” or the mesh menu in edit mode, make up most of the control we have over normals and therefore shading.
The good thing about this modifier is that most times it solves shading issues by just adding it to the modifier stack.
Something to keep in mind is that “auto smooth” needs to be turned on for this modifier to work. “Auto smooth” is switched on in the object data tab in the normals section.
I won’t dive deeper into the settings of this modifier since that would bring us deep into the topic of normals. Normals can be an intense topic. Perhaps I will write another article about that at some point.
So in short, adding this modifier and enabling auto smooth is a quick way to solve most shading issues.
This is a problem most common on low poly objects with smooth shading.
Those are my top 10 modifiers that I think will make up pretty much 80% or so of your total modifier usage. We have only covered them one by one here, but there are plenty of power in combining these in creative ways to keep a good amount of control while modeling.
Most times, control stands on the opposite side of the spectrum from simplifying. When we model, we often want to keep a good balance between the two and use as many tools as possible that promote both simplicity and control. I think the modifier stack is a good middle ground to get a lot of modeling done quickly without loosing too much control.
Often we can just add a modifier in Blender and there are just one, two or three settings that we need to care about. But there are also many more settings available allowing that extra control.
We also got the option to apply a modifier, committing it to actual geometry. That can many times be thought of as adding control. But be careful here since while we gain the ultimate control to manipulate every single vertex in edit mode, we also lose the convenience of the modifier sliders and buttons.
Modifiers are a wonderful way of modeling, and Blender would not be the same without them. I hope you find them fun to work with.
Thanks for reading.