The preservation of Smoothing when exporting meshes for use in games can be problematic because, although it can be set using various tools in Blender or other 3D applications, the feature itself still relies largely on its being retained during the export process and / or maintained within a given game development environment.
I'm trying to learn how to smooth/round a edge of a model, currently I have a very simple case I can't achieve: I created a sphere and cut it using the bisect tool, thats the result: Now I'd like to round the top edge of this figure so it gets less shard, more rounded. Oct 23, 2019 In Blender, how can I smooth the edges/vertices/faces? Discussion in 'Formats & External Tools' started by unityuN6q1ZwzyKHMWg, Oct 9, 2019.
Contents
Resources
As such there are instances when the data associated with the attribute are either lost or ignored. In such instances Smoothing has to be 'forced', that is, the mesh has to be physically 'Split' into an appropriate array of surface groupings so as to approximate the general appearance of what would otherwise be assigned via tools and property options.
The following tutorial on exporting models with Mesh Smoothing intact from Blender will use a simple cube by way of demonstrating the basic process of assigning forced smoothing to a mesh within the context of idTech, although, it is important to point out here the problem is not Imessage not receiving. exclusive to that particular engine technology.
Why use Mesh Smoothing? ^
Mesh Smoothing is generally about surface illumination, how objects are lit and shaded with respect to a Scenes lighting. When Smoothing is not properly assigned, or simply not used, models typically appear incorrectly lit and shaded. Smoothing, or more correctly the 'groupings' or 'hard edges' that can be formed as part of the process, alleviates this problem and is a primary reason why it's used.
An example of why mesh smoothing is used. The wheelbarrow model with partially assigned Smoothing; edges that should otherwise display as 'hard' - edges or surfaces typically indicative of man-made structures - appear 'soft' and relatively indistinct which results in incorrect object shading
Once Smoothing, i.e. 'groups' and/or 'hard edges', has been assigned, surfaces shade correctly with respect to the way they would be expected based on scenes general illumination and light direction (top-left in this instance). This is the general purpose behind the use of 'Smooth Shading', or 'Mesh Smoothing' as it's otherwise referred; to facilitate proper object illumination
Smoothing and model formats ^
Most model formats used for games are capable of utilising smoothing, so using idTech 4 as an example target technology, it comes as no surprise the three main model formats are similarly capable of displaying smoothed meshes. They are;
- *.ase: an ascii text based format native to 3D Studio Max.
- *.lwo: a binary compiled format native to NewTeks LightWave.
- *.md5mesh: a proprietary text based format developed for idTech 4 by id Software.
Each format can use Smoothing in one of two ways; 1) assigned to the mesh during construction and saved-to-file on export - how this is done varies depending on the 3D application being used, Smoothing can be a property such as 'hard' or 'soft' edges, or a physical effect such as 'splitting' sub-elements, or creating 'groups' of elements; 2) smoothing data from export is ignored in favour of game engine assigned properties, typically though a shader or material, or a generalised global value. For example the former is typical when working with *.ase or *.lwo models, the latter for *.md5mesh.
Design note: where *.md5mesh is concerned, global Smoothing assignments are used to compensate for seams (the hard edges associated with Smoothing and Smooth Groups generally) which can cause problems for normal mapped textures.
Mesh Smoothing and splitting surfaces ^
In instances where the export of Smoothing fails, or for whatever reason is not being used, the only way to generally guaranty inclusion is to force their placement. This is done by manually breaking up a models surface continuity into a series distinct areas or 'groups' through a process of face, edge and/or vertex 'splitting'.
Design note: when talking about 'Smoothing' and the use of 'Smooth Groups' in this context, the latter generally refers to the overall affect of individual collections of faces, edges or vertices - the way a mesh splits indicates a 'group' (gives the appearance of), a collection of such can be referred to as a collection of 'Smooth Groups'. This should not be confused with the 'Smooth Group' mechanism used in 3D Studio Max - although it works using the same guiding principle of surface 'units' (a 'unit' being a face or collection of faces), the underlying mechanism through which this is achieved differs from simple 'splits'. It's important to understand the difference and distinction between the two references.
Mesh Smoothing in a broader sense is typically composed of 'groups', or 'Smooth Groups', individualised areas or regions that make up the whole aspect. Not to be confused with the proprietary system of managing, setting and controlling the same thing used by 3D Studio Max
The following will demonstrate this approach on a simple cube Object which has a single face selected and then slit from its neighbours resulting in two distinct groupings; the split face itself and the remaining surfaces of the cube.
Design note: 'Split' is not the same as 'Separate' (or 'Detach' as it might be otherwise known) in Blender, the former simply breaks surface continuity, the latter into a completely independent object that's neither attached nor connected to its originating parent Object in any way. Think of a box. The box itself is the parent object, it's what the object is, a 'box' comprised of a number of sub-elements, each is distinct in its own right, the 'left', 'top', 'bottom', 'right', 'front' and 'back'. Whilst remaining part of the box itself they are 'sub-elements', when detached from the box (cut away with a craft-knife), although they still contribute to the overall 'shape' or volume of the box, they do so now as separate 'sub-objects', not 'sub-elements'. When using other 3D applications the same principle applies, faces and areas can be similarly separated. Note also that the idea here is to create the impression of distinct areas without necessarily doing that - groupings can become complex if Smoothing is 'shared' (one group 'bleeds' into another because they have a common surface for example) so areas may not need to be fully split.
The general difference between surfaces 'Split' (left) versus 'Separate' (right) in Blender (separate is also synonymous with 'Detach' in other applications
Manual Mesh Smoothing ^
To start with ensure smoothing has been enabled or assigned to the mesh. In Blender this is done by first selecting the Object ('RMB') and then in the 'Shading:' subsection of the ToolShelf (the right hand side of the screen - press 'T' if not visible), clicking 'Smooth'. The object will then display in the 3DView similar to the image below and as per the points previously discussed, shading is in the wrong place; because scene lighting is from top-right the bottom leading edge is incorrectly shaded - this is what Smoothing will fix.
Design note: shading issues can generally be fixed by Smoothing irrespective as to how it applied to an Object.
A box with 'global' smooth grouping (current Blender versions)
In Edit mode ('Tab') a face or group of surfaces are selected ('RMB' or 'Shift+RMB'); using the demonstration cube 'RMB' the front face this is the active select that will be split. Press 'Y' or from the 3DView Header select 'Mesh » Edges » Edge Split' ('Ctrl+E » Edge Split') or 'Mesh » Vertices » Split' (or 'Ctrl+V » Split'). This separates the selection at the element level (divides vertices or edges in to two separate but identically located elements) and changes the previously applied Smoothing by 'breaking' it at the point or points of splitting. Remember, this process is about 'splitting' edges (and associated vertices), it is not about detaching selections into completely independent objects.
Design note: note the basic principle being shown here, although done in Blender, is the same for all 3D applications where forced Smoothing is needed. Note also that although the integrity of the mesh should be kept whole (no gaps or wholes the break surface continuity), it may sometimes be easier to completely detach areas to better manage Smoothing assignments (which also might facilitate particular regions being worked on without the entire mesh being active in Edit mode). Once done however it's important that all the separate objects be reattach (to use a 3DS Max term) them all back into one single object ('Shift+RMB' all the objects then press 'Ctrl+J'). Because this usually doesn't weld the vertices back together by default it will leave separated edges along the boundaries of what were separate objects before their being joined together.
Splitting the selected face away from other smooth groups
Split Faces, Edges or Vertices? ^
Although there are a number of menu options available to split a selection they all perform the same function, they split the mesh at the 'vertex' level. Shown below is what this generally means. On a simple object like the demonstration cube, splitting the selected face creates a set of coincidental vertexes, one for the selected element, the other belonging to the remaining surfaces. So two sets of vertices occupying exactly the same location belonging to different 'groups', and generally speaking this is how Smoothing works in game irrespective as to the technique used to assign them; vertices bordering split selections are 'duplicated' relative to the number of groupings required.
Design note: although not expressly discussed in this tutorial, Smoothing, that is the treatment of an objects surface to indicate distinct areas, can be carried out in a number of ways depending on the application being used to make the model. They all however, end up as split vertices at render time in game.
One of the vertex pair - belonging to the box - used to 'force' a smooth group split
The other vertex - belonging to the separated face - forming the corner pair
Smooth groups are just separated vertices ^
The final result of the procedure is shown below, two 'groups' of smoothing - the main cube and the selected surface separated from it. When this mesh is exported, providing the vertices are not re-welded back together, the result in-game will be a replication of what's seen in Blender.
Design note: export formats may inadvertently re-weld vertices back together as an automated 'Remove Doubles' of sorts so it's best to do some basic tests to check to see if this occurs. Also, and irrespective, the same holds true with respect to game engines, some may persist in ignoring manually forced face splits similarly re-welding everything back together and assigning a single smoothing value.
Conclusion ^
For most low-poly work, the one caveat to this approach is that it creates hard lines where-ever surface continuity is broken (typically borders around groups). The only way to avoid, or at the very least mitigate this, and still keep a reasonable semblance of 'smoothing', is to 'Bevel' ('Ctrl+B', 'Ctrl+E » Bevel' or 'Ctrl+V » Bevel') or otherwise 'round' an edge by adding extra face or edge loops to redistribute shading across more surfaces, thus keeping the general forms present without necessitating the use or placement of hard edge between areas.
Adding extra loops around a group goes some way to alleviating the hard edges attributed to surface splitting but on complex models can be problematic to implement - smoothed (left), split (right), extra loops (middle), note that both loops and split version are similarly shaded
Care also needs to be taken with respect to animated objects. When splitting vertices it is possible to inadvertently alter vertex group values such that when the object articulates when animated, vertices attached to different 'groups' may move at different rates - be sure to double and triple check vertex groups, bone weights and modifier influences across coincidental vertices for disparities and synchronisation issues.
When faces are split to form smooth groups on animated objects care needs to be taken to ensure gaps don't occur as a result of vertex group disparities
It is important that our objects get the right shading depending on the kind of surface and our artistic goals with the piece. By default, all mesh objects in Blender have flat shading. However, when we deal with round or organic shapes, we want the surface to be smooth, so that we don't get a visible sharp edge between each face.
To smooth the shading of your object, select it, right click, and choose shade smooth. To switch back to flat shading, click shade flat instead.
Thats, great and all, but what does this all mean? And what if we have a slightly more complex scenario, like a Cylinder that needs both flat and smooth shading? Let's find out.
What is shading in Blender?
There are two kinds of shading we encounter when working with 3D art. The shading that determines if we have smooth or sharp transitions between our faces, and the shading we do in the shader editor when developing materials for our objects.
So how do we know when we are talking about what kind of shading?
Whenever you hear shade flat, shade smooth or object shading, we are talking about the kind of shading that determines smooth or sharp edges on the geometry.
When dealing with material shading, we often also hear acronyms like PBR (Physically based rendering), Shaders (as a thing rather than as a state), materials, and nodes.
In this article we are concerned with the first kind. For shading materials, this article will help you get started:
Related content: The complete beginners guide to Blender nodes, Eevee, Cycles and PBR
You can think of the shading of an object as the base coat when painting. Without the correct shading on the object, the material may not look as intended. For instance, we may see hard lines that shine through the material or different luminance on different faces.
To understand shading we need to have a basic understanding of normals, the driving factor of our shading.
What are normals?
A normal is the direction something is pointing. Vertices faces, and edges all have normals. A normals direction is a vector.
We can preview normals. In edit mode, go to the overlay menu in the top right corner of the 3D viewport. Find the Normals section close to the bottom of the drop-down menu and enable the normals for vertices, edges or faces, then adjust the size so that you see the lines drawn from each geometry element.
So, what does normals have to do with shading? The normals are the driving force behind the shading.
When we have flat shading, the normals are all pointing in the direction of the individual faces. This leaves no normals pointing in directions between faces, leaving a sharp edge between them.
When we switch to smooth shading, we average the normals between the faces so that we get a smooth transition.
By controlling the normals, we control the shading of our objects.
How to combine smooth and flat shading on the same object?
We have primarily three tools to control the shading when we need to combine both flat and smooth shading.
- Auto smooth
- Mark sharp edges
- Weighted normals modifier
If we want only flat shading, we use smooth flat from the right-click context menu. But if we want smooth shading or combine the shading, we need to start with smooth shading, so start by choosing to shade smooth from the right-click context menu for any of these methods.
How to control shading with auto smooth in Blender?
The first option, called auto smooth can be found in the object data properties. That is the green triangle icon in the properties panel. Here, find the normals section and check auto smooth.
Auto smooth will smooth any edge that is smaller than the given angle. So, for instance, if we set 90-degree, any angle between two faces that is lower than this will be shaded smooth. A value that works for most scenarios is 60-degrees.
This is how a cylinder looks with smooth shading and auto smooth enabled and set to 60-degrees.
How to control shading by marking edges as sharp?
Instead of letting Blender set sharp and smooth edges based on a fixed value, we can mark edges as sharp to have full control over what edges are sharp and not. Just note that this requires an edge split modifier. This modifier actually split the geometry making separate pieces. This is generally regarded as an outdated method of managing shading.
To mark an edge, follow these steps.
- Right-click and select smooth shading.
- Select you object and press tab to go to edit mode.
- Go to edge select by pressing two in the number row on your keyboard or press the edge select button in the top left corner of the 3D viewport.
- Select the edges you want to be sharp.
- Press Ctrl+E and choose to mark sharp.
A blue outline will show what edges are marked as sharp. Now add the edge split modifier following these steps:
Blender Smooth Edges Classic
- Go to the modifier tab, the blue wrench tab
- Press add modifier
- Choose the edge split modifier from the list
- To only affect marked edges, deselect edge angle
To clear a sharp marked edge, follow the steps above, but instead of choosing to mark sharp from the edge menu, choose clear sharp.
How does the weighted normals modifier work in Blender?
The weigthed normal modifier takes the size of faces into account to determine more dynamically what kind of shading a face should have instead of just averaging the normals.
Related content: How modifiers work in Blender, an overview
It is useful primarily when we have beveled edges in our geometry. The bevels are made up of much smaller faces along the perimeter of larger faces.
Related content: How to solve bevel problems in Blender
With smooth shading, Blender give them the same importance, but the weighted normals modifier can look at the size of faces and give them importance accordingly.
This creates a weighted transition between faces that favor larger faces, maintaining their flat shading while still shading beveled edges smooth.
Follow these steps to add the weighted normals modifier to your object.
- Select your object in object mode.
- Right-click and choose shade smooth.
- Go to the object data properties(green triangle icon) in the properties panel, find the normals section and enable auto smooth. This is a requirement for the modifier to work.
- Go to the modifier tab in the properties panel.
- Press add modifier and choose the weighted normal modifier.
There are a handful of settings in this modifier that we may need to configure depending on our scenario.
First, we have several weight modes. Here we decide how the modifier calculates the new normals, we can use either the face area, corner angles or both.
You can think of the weight parameter as weighting between faces that has weaker and stronger influence on the shading.
The threshold decides the lower end at which all faces are considered equal.
Keep sharp allow us to maintain sharp edges decided by auto smooth. This is useful when we have low poly objects without bevels.
We also have the option to set a face strength manually as well, we can do this by pressing Alt+N to bring up the normals menu. At the bottom you will find set face strength. If face influence is checked, we can use this as a manual way of assigning strength to different faces.
External content: Blender manual weighted normals modifier
Final thoughts
We learned that normals is what controls how the shading of our objects looks and at the highest level we have flat and smooth shading.
Often, we have an object that needs a combination between smooth and flat shading or a weighted shading to look optimal. We looked at several tools that can help us achieve this at various levels and scenarios and different amount of control.
Thanks for your time
Author
Blender Smooth Mesh
3D artist, writer, and owner of artisticrender.comMy top product picks for Blender artists
Top Blender add-ons
UV Packmaster ProPolygoniq add-onsBaketoolsPro lighting: StudioExtreme PBR EvoDecalMachineTop Blender courses
Creative shrimp coursesReal Time Motion GraphicsBlenderBros A-Z Environment Design Using Trim SheetsRecent posts
How to use vertex groups in Blender10 tips for UV unwrapping in BlenderVegetation Blender add-on review and guideHow the color ramp node works in Blender10 Best Movies Made with BlenderBlender add-on review: Pro Lighting StudioIs Blender Used for Games?Blender version: 2.9xRecent posts
Blender Render Smooth Edges
How to use vertex groups in Blender10 tips for UV unwrapping in BlenderVegetation Blender add-on review and guideHow the color ramp node works in BlenderPopular posts
How to sell 3D models using BlenderHow to use alpha transparent textures in BlenderTop 10 material libraries for Blender artistsBlender Smooth Edges
How to add a texture to an object in Blender