I'm currently in the process of modelling a handgun, this is one of the reference images that I am using: Refernce Image

Looking at it closely, it looks as if a majority of the edges have a small bevel on them to give a hard surface look to it. I have modelled the basic shapes and details of the weapon, and now I need to make it look like a hard surfaced model. I also have a subdiv surface on the model (currently set to 4, going to make a very high poly version and then bake the details to a normal map for a lower poly model).

My question being, is having the subsurf modifier necessary for a model like this? I intend to go through and add all of the little bevels to the model to represent the same sort of look in the reference image, but I'm just not sure whether the subsurf is even necessary?

I have seen other models without subsurfs, yet they have a hard surface look to them.

For point of reference, this is what I have so far: M6C

To try and summarise/clarify what I'm asking, is it necessary for me to use a subsurf modifier and then go through and bevel edges to create a hard surface look? Or can I achieve the desired look without using bevels and a subsurf modifier?

Also, in the .blend file, if you look at the barrel and the trigger that is the sort of method I was going to use to achieve a hard surface model. Not sure whether it is a very effective and or correct way of doing it.


note I’m not planing on using this for a game, I am baking the detail for a normal map so that when I use it for renders it isn’t super high poly.

  • 1
    $\begingroup$ If I were you I'd just use the subsurf modifier, and in edit mode go through and manually choose how much the modifier affects selected edges by using the 'crease' slider $\endgroup$
    – Linguini
    Apr 24, 2018 at 15:08
  • 3
    $\begingroup$ I find the bevel modifier and the subsurf modifier work well together for hard surfaces. The bevel modifier gives you non-destructive options and fine control through vertex groups, which is why I prefer it over using the bevel tool over and over. $\endgroup$
    – dixiepig
    Apr 24, 2018 at 17:16

4 Answers 4


"Hard surface look" doesn't really mean anything specific. In 3D modeling hard surface is simply anything machine made or man made as opposed to organic that is grown or shaped by nature in a non-orderly fashion. Your model is already looking like a hard surface model.

You could leave it like that but comparing to reference images you probably want to round off corners. In real life there are no sharp corners so you expect a corner to catch light from the environment. So you are striving for realism. And if you complete the project with PBR materials you should end up with something close to your reference images.

As for getting the geometry right, there's not a rule to choosing between using subsurf and bevel. Furthermore you can do it with non-destructive modifiers or manually in actual geometry. In the end subsurf and bevel are just tools that you can use. There are also people that prefer to make hard surface models like vehicles or helmets by sculpting. Each technique has their pros and cons and it depends solely on what you are modeling. Some complex geometry you just can't get perfect in any other way besides making it more or less manually.

Subsurf modifier adds loops everywhere smoothing out your shape all around. It often doesn't go well with hard surface modeling because it rarely produces flat surfaces and creasing edges is rarely useful when you mostly just want a rounded corner. Adding control loops near the corners gives you good control of the overall shape but it can be considered destructive process. You can look into Andrew Price's Anvil Tutorial for the general idea. But still managing the look of each edge by shifting loops can become quite chaotic in a complex model.

Bevel modifier is often good choice when you have one bevel radius per object and your mesh geometry is bigger than the radius. But if not, it can induce problems with geometry or materials and you need to clean the topology by hand. How I like to use it for realism is use a small radius and control where the bevel goes via 'angle' or 'bevel weight' and model bigger and complex bevels manually.

In general you'll have easier time if you build a complex high-poly model out of separate simple objects that you allow to intersect. You can try different methods on each part and see what works best. If you need a one watertight model you can model a low-poly version on top of your high-poly model, then bake the textures you need.

  • $\begingroup$ So far this method is working quite well for me, with the addition of a few holding edges to harden up some edges. This will more than likely be my answer, but I will wait until the final day to mark it as such :) $\endgroup$ Apr 28, 2018 at 12:18

This is really a subjective topic and I don't think it can be answered with 100% certainty for you. Some high-level modelers will use sub-d's on a model like this, while others will not; it just depends on the the person and not necessarily the model, although the model itself is a factor.

You also have to consider how the model is going to be used: Is it going to be for a game or animated in some way? Will it have a UV map? Just a still image? If so, how big will the image be and how long are you willing to wait for it to render? A sub-d model will render better generally, but will take longer. All these things must be taken into account.

One thing to note: When you say "hard surface" that doesn't exclude a model with subdivision surfaces on it, and you can have organic models with no subdivision at all -- it just depends on what you are trying to achieve. Just understand that it will be more difficult to get smooth, rounded areas without some level of subdivision.

You'll just have to try it both ways (or a combination of both) and find out what works best for you. There's no rule that says you have to only do things one way. That's the best answer I can give you.


There is also the bevel modifier, that might reduce you some polygons. Some people have tried it using shader tricks, but that would only work inside cycles, not inside other (game) 3d engines. I assume you create game objects.

Another option is you create a copy of your low mesh count shape. Do whatever you want on a second highres mesh copy, and then bake the highress UV's over to the lower mesh count version. An example of how that works you can see here : https://www.youtube.com/watch?v=vze2wnl6duY


On top of everything writed here, there is new feature - Bevel node in Cycles Watch this Youtube tutorial

This do nothing with geometry, just set normals and smooth shading to give visual feeling like smooth edge.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .