What is Hard Surface Modeling and why is it a must-have skill for 3D artists?
Hard surface modeling is a 3D modeling technique and a crucial part of polygon modeling applications. The main goal of hard surface modeling is to smoothen out surfaces by interpolating and applying smooth deformation functions on the interpolated surface.
Sounds too technical?
Worry not, by the end of this article you’ll not only have a good understanding of what that all means, but you will also learn how to apply them as a professional 3D modeler and will be able to use these techniques to improve your design skills.
Before we have a look at what hard surface modeling is in detail and how it's done, it's important to understand the difference between CAD and other forms of design.
How is CAD different from other forms of design?
We’ll use drawing as an example to explain it.
One of the key differences of using Computer-aided design (CAD) software, as opposed to drawing on paper, is that CAD software has an option to automatically add missing details and to smoothen out surfaces.
For example, drawing a simple cube on paper is relatively easy but drawing rounded edges is time-consuming. On the other hand, using CAD software, you can automate the entire bevel and rounding process.
In the above example, I used the primitive cube to create the basic cube and then used a Fillet to bevel the edges.
Chamfer vs Fillet
Bevel is split into two separate tolls. The chamfer tool is for creating a simple flat bevel, while the Fillet tool is for rounding, as in the above example.
Now, it is important to understand that beveling an edge involves two different processes:
- Adding additional edges in such a way that the object stays manifold.
- Offsetting each edge from its neighboring edges.
In the case of Chamfer and Fillet tools, the same tool is responsible for both but some other functions, like the deformation tools, will only do the smoothing and so it’s up to the user to separately use another tool, such as resolution, for adjusting the level of details (LOD)
In the above cube bending example, you can see how the smoothness depends on the object’s level of details (LOD). The more details you have, the smoother the deformation will be.
Adjusting the correct Level of Details (LOD) is an art by itself. Designers have to constantly strike a balance between having a low poly object, which requires having the minimum face count, and between having smooth surfaces, which requires adding a lot of details.
Working with edges vs surfaces
Now, the goal of Hard surface modeling is very similar to beveling edges, except that instead of rounding edges it smoothes out entire surfaces.
The idea is that you can create very simple low poly objects as an outline for how the final object should look like and the surface modeling tool will automatically add details and smoothen out these surfaces.
Hard surface modeling tools
One of the most frequently used tools in hard surface modeling is Subdivision surfaces. In SelfCAD it’s called “Round Object” which is a reference to its actual function.
You can technically round just a selected surface but that will make the object non-manifold, so in order to keep the object manifold, you need to apply the function to the entire object at once. However, you can still control how each part is rounded by editing the level of details.
How do 3D artists control the surface rounding process?
Hard surface modeling requires having a good understanding of the object’s topology structure so that you can control how and which surfaces get rounded.
We discussed above how more details create a smoother outcome in the case of bevel and deformation tools. The same is true for Subdivision surfaces (Round Objects) because the tool itself has a smoothness setting similar to that of bevel. However, 3D artists often add details on selected parts as a way to limit the roundness of these surfaces. Sounds counterintuitive? Let me explain.
Interpolating relative to what?
Interpolation is always relative to some input. In the case of Chamfer, it adds one additional edge and offsets the distance and angle according to the settings, while Fillet can add and round multiple edges but still remain confined within the same distance as Chamfer.
In the above example, I used Chamfer on the left with a 20 mm intensity, and on the right, I used Fillet with the same intensity with Level 4 as the LOD, which added 4 faces and rounded them. In both of the above examples, I had full control of which edges I’m selecting for interpolation, how to offset them, and the LOD.
Now, when it comes to the round object tool, the actual interpolation and roundness are similar to fillet but it gives less control for the selection as it’s mostly designed for smoothing out entire surfaces.
The round object first adds details and then rounds or smoothen them, in relation to their neighbors. First, let’s discuss how it adds the details,
In the above example, I used round objects on a basic cube consisting of only 6 faces. You can see how the LOD (Called smoothness) affects the outcome. A smoothness level of 1 is multiplying the 6 faces by 4 because each face is split in the center and converted into 4 faces, hence getting a total of 24 faces.
A smoothness of 2 is 24*4, and smoothness 5 is already 6k+ faces. As each level is further splitting the outcome from the previous layer, it means each level is the previous level*4. There are a few different subdivision surface algorithms (will get to that later) and some behave slightly differently but they all have a similar concept.
The main difference between bevel tools and round objects is that bevel is a controlled operation, where the process of creating manifold geometry (that involves cutting neighboring faces when needed) is part of the built-in logic so that it can allow selecting a single or as many edges as needed since it creates a different output according to the selection input. This flexibility creates some limitations in some use cases to guarantee that the object stays manifold.
While in the case of round objects, it relies on the fact that you must apply the function on the entire object and so whenever you split each face in 4, you almost always keep the object manifold.
Some of the different subdivision surface algorithms actually may create some manifold issues, which is why SelfCAD removed them from the round object tool and only uses them in some rendering techniques that we will discuss later.
How does subdivision smooth the surfaces?
As mentioned above, the subdivision is a relative tool, in which the actual roundness has no predefined parameters, but rather relative to its neighboring faces, which is why the roundness creates a smoothing effect. This means that if all its neighbors are flat, you will get a flat outcome.
In the above example, you can see that a basic cube input, in which each face is connected to 90° angle faces from other sides, gets a complete rounding effect so that if you add details before subdividing, you get rounded corners while the center stays almost flat. This is because after the round object tool splits the faces in 4, the center faces are now connected to flat neighbors. The more original details you add, the flatter the center parts will be.
How do artists add details to limit the roundness effect?
Now that we understand the basic of subdivision surfaces, let’s take a look at some practical examples to see how artists use them as part of hard surface modeling techniques
In the above example, you can see that the original object only has 299 faces, but if you directly round it as is, you would get a distorted object as you can see on the right. So instead of rounding them directly, she first added details before subdividing.
In the above example, you can see how she used the edit detail tool to add additional edge loops at all important points where she wanted to keep the object relatively flat or sharp corners, so the object ended up having 575. Then she used the round object tool to smoothen but now got the nice output she expected. In the final image, you can see how it looks after using SelfCAD’s built-in rendering engine.
This entire shape is relatively easy to create if you follow this interactive tutorial. It has only a mere 125 steps, which you can complete in about 10 minutes but such a design requires great artistic skills as you need to know how and where to add details for constraining and managing the roundness effect.
Hard surface vs other modeling tools
SelfCAD has many tools that can create smooth surfaces but they create such surfaces as part of the object creation object, while the concept behind hard surface modeling is to first create a low poly object and later smoothen it out as with the above example. This is where the name “Hard” surface comes from
Hard vs Soft surfaces
In 3D modeling apps, we often refer to hard and soft edges and the same concept applies to surfaces. The idea is that the low poly object is the main structure, which we refer to as the hard surface, while the interpolated smooth surface and high poly object are called the soft surface.
This is more than just a technical definition, this is very important when 3D modeling for games and other use cases where low poly is the main objective.
The idea is that you can use the original hard surface for the first layer when rendering the object as a small and far away object, and when zooming in, you can load the high poly, detailed object. Some game designers create many layers, where each layer adds more details and hence better manages the rendering pipeline.
How to create 3D objects with different levels of details?
Level of detail (LOD) is an old technique in computer graphics and there are other ways to create the same object with different poly count levels. The main difference is the design flow.
With hard surface modeling, you first create the low poly and use a tool to smoothen out the surfaces, but with almost all other 3D modeling techniques, you first create the high poly object and later use a tool to reduce the poly count.
In the above example, you can see that the first object on the left is the soft and high poly model of 36K+ faces that we showcased above (just now shown in a Solid + Wireframe mode). You can see that the faces are so small that it’s hard to see them in a wireframe mode, while for the 2nd to the left, I used SelfCAD’s simplify tool to reduce the poly count so it only has 7K+ faces making it much easier to see in a wireframe mode but more importantly, you can see how both of them look in a simple Solid mode and you can barely see the difference. The poly count of the simplified object is about 20% of the original.
The above example demonstrates how you can first create a high poly object and later use the Simplify tool to reduce it and create a low poly object. But 7K is still much more than the original mere 299 faces, so the best course of action is to create a low poly object, use the round object tool to add the smooth details, and then use the Simplify tool to reduce the poly count, while still maintaining the nice smooth surfaces.
Using subdivision as just a LOD tool
We described above how subdivision cuts each face by the same factor (splitting them into 4). This means you almost always get quads as the output. 3D artists like to work with a quad structure as it makes things easier when working with deformation tools. SelfCAD has a “Linear” option in the (Round object) advanced settings that will only split the object, without rounding them. However, this is not the default resolution tool as it may create very small and undesirable faces because small and large faces get split equally. So if you already have a small face, you may end up having faces that are too small to work with.
Resolution vs subdivision surfaces
The resolution tool is also trying to keep quads when possible, but it places a bigger emphasis on keeping a uniform edge length.
The main difference between the Resolution and Linear subdivisions tools is that the resolution tool splits edges that are larger than X while the subdivision tool cuts everything regardless of the size.
When cutting a basic cube, you will see no difference between them but if you start adding irregular faces, you will notice a big difference.
Uniform vs edge length
Besides the subdivision undifferentiated cutting and the edge length resolution-based cutting, you have a 3rd uniform face cutting option.
Uniform cutting is the most advanced of them all, and it solves the problem of very small faces we encounter with quad cutting, while still keeping an artist-friendly structure, since uniform faces behave very well with deformations and organic modeling techniques.
In the above example, you can see how they all behave on a basic stretched cube and they obviously become very important when handling complex objects.
The interesting thing is that the simplify tool, which (as we described above) is mostly used for reducing the polycount, can also be used as a tool for creating relatively uniform faces.
It’s not as perfect as the uniform resolution but it’s great when used on high poly objects like with the Japanese Lantern example. As you can see, above the 7k+ faces, the Japanese Lantern example has a relatively uniform face structure.
Faking subdivision surfaces
I described above how important it is to maintain a low poly count and why hard surface modeling plays an important role in the LOD rendering pipeline, but artists often use a trick that can simply fake the smoothness of any surface to avoid rendering the high poly object in many basic use cases.
The idea is to use advanced rendering techniques that can emulate the roundness.
In the above example, you can see (in solid + wireframe and simple solid modes) how the 575 face count low-poly version of Japanese Lantern looks almost as good as the 36K+ rounded version above. This is done by simply turning on the smooth shader option, and this is obviously the preferred option when applicable. However, there is a huge problem with this approach that makes this not useable in many use cases as follows,
3D Printing vs game design
The main difference between faking and real smoothness is whether the topology gets updated. When designing just for rendering purposes, you just need to have a nice visual so it’s much less important to have all details be part of the object. Here, smooth shading is an option. However, when designing for 3D printing or other forms of manufacturing, you need to include all details as part of the final object, and so simple shading effects are not sufficient.
Physically-based rendering (PBR) vs shading techniques
In the above example, I used a smooth shading technique, but for game design and other advanced rendering use cases, you often require photorealistic rendering which requires PBR.
What is PBR?
Physically-based rendering (PBR) as its name implies, is using physics simulation techniques to emulate how light bounces off objects in the real world and as such can’t use any fake shading techniques.
The idea is that if something needs to look round in the real world, it will need to have the actual details, and as such when rendering using PBR, you can only use a real subdivision that updates the geometry to emulate how light would bounce off its surfaces in the set environment.
For the purposes of keeping this article focused, let’s not go into details about the differences and main benefits of PBR, but it’s a very common requirement nowadays, and as such you still need the actual hard surface modeling tools.
How SelfCAD PBR renders smooth shaders
SelfCAD like most other CAD software uses a traditional shader-based rendering for its entire 3D modeling app flow but it also has a PBR rendering engine, which is used for the final step, when you need to get the best visualization output.
The problem is that many users don’t know that smooth shader is not allowed in a PBR rendering flow and as such may get disappointed when we leave out nice rounding effects. To overcome this problem, SelfCAD automatically applies a surface subdivision before rendering any smooth shader.
Now if you paid keen attention to this article, you may remember I mentioned earlier about non-manifold issues with some subdivision algorithms, and that SelfCAD only uses them in the rendering flow. Now, let me explain this final point.
As I said earlier, all subdivision surfaces are similar but they still have small differences, and not all of them look the same as a smooth shader. So when we automatically apply a smooth surface algorithm before the PBR rendering, (to emulate the smooth shader) we use the best matching algorithm because this is no longer used as part of the modeling process and we don’t update the actual object in the application, but just apply it on the rendering engine. This flow makes sure we always keep manifold objects in the modeling application. When it’s really important while rendering, and where visualization is all that counts, we use what’s best for that flow.
Hard surface modeling is still one of the most important 3D modeling tools for creating smooth surfaces but more importantly, they are the best tools for managing a good LOD rendering pipeline.
In most cases, you would use other modeling tools to create the basic shape and then use hard surface modeling tools for adding the details.
Hard surface modeling is therefore a must-have for professional 3D artists.
Enjoy powerful modeling, rendering, and 3D printing tools without the steep learning curve.
Need to learn 3D modeling? Get started with interactive tutorials.