With the advent of Blender changing it’s polygon engine to include Ngons, as opposed to only supporting triangles and quadrangles (post version 2.63), a new mesh system known as Bmesh has been introduced to Blender and brought with it several new features. Besides the obvious advantages of creating polygon models faster (which are generally not intended for usage with deformations respecting topology), an addition to Blender’s sculpting toolset in the form of Dyntopo also takes advantage of the new mesh system’s versatile approach to working with polygon geometry.
In simplest terms, for an end-user (such as myself), BMesh is a set of new instructions that Blender uses to display polygon geometry in the viewport. Prior to the inclusion of BMesh all polygons displayed in a 3D viewport in Blender could only be made up of a four-sided polygon (quadrangle) or a three-sided polygon (triangle). In order to construct a complex 3D model these simple “building blocks” must then be arranged to represent the shape or form of the model.
Amongst the the advantages of this old system with regards to triangles is that many thousands of triangles can be computed and displayed relatively quickly as much of what the math engine computes in the background is very close to what the user sees in the viewport, this in-part attributes to why so many games engines require geometry to be triangulated before run-time.
Quadrangles on the other hand have become almost synonymous with creating models that deform with respect to the edge-loops that comprise their topology. The rectangular nature of quadrangles when placed side by side make it very easy to visualize the edge-loops that need to be strategically placed on a model that will be continuously deformed, for example, during animation.
Ngons do not replace the advantages of triangles and quadrangles, but rather augment the previously existing mesh system in Blender by simplifying (and speeding up) the task of creating geometry that is not intended for continuous deformation for example a character in a still pose, an inanimate object for a background prop or various applications in architectural visualizations to name a few uses for Ngons.
So how do we use NGons and BMesh in Blender?
Fortunately, if you are using a version of Blender greater than 2.62 this is not something you really need to be too concerned about. As BMesh was intended to replace the old mesh system, Blender versions greater than and including 2.63 will use it by default, this means that geometry can consist of triangles, quadrangles, ngons or combinations of any type. All you need to do is simply use Blender’s extensive set of polygon modelling tools to create which ever type of polygon you desire and let Blender figure out the rest. The only time you need to be aware of which mesh system you are using is if you wish to import a model created with the new BMesh system into a version of Blender older then 2.63, in that case your model might need to be quadrangulated or triangulated then in the File menu choose “Save As…” and make sure the “Legacy Mesh Format” option is checked before saving.
Dyntopo is possibly a portmanteau for Dynamic Topology and might allude to a paradoxical (and even whimsical) remark regarding a new approach to constructing a models geometry that comprises it’s topology, as topology typically relates to the properties of objects that are preserved under deformation, a dynamic approach to topology fundamentally implies readdressing these constructs. As a result it’s worth noting that preservation of geometry components is not an objective when working with Dyntopo in fact the opposite is true. In order to create meshes that deform predictably for animation or other such circumstances from a mesh that was created using Dyntopo, the mesh should first be retopologized.
So How Does Dyntopo Work?
Currently Blender (as of version 2.65) does not have an official release that includes Dyntopo, so you will need to visit graphicall.org and obtain a test build for your platform. Dyntopo might also be available as an Addon under Testing in current and upcoming official Blender releases.
Once in Blender switch to “Sculpt Mode”, then in the “Options” Panel of the Tool Menu (which can be toggled on and off by hitting “t” on your keyboard) click the button labelled “Enable Dynamic”.
The “Multires Modifier” does not work with Dyntopo as vertex counts are controlled directly by sculpting. However, I have found the multires modifier to be most useful when applied to a retopologized model created from a Dyntopo sculpt, followed by a shrinkwrap modifier targeted to the very dense Dyntopo sculpted model. Dyntopo works efficiently with Blender’s ability to hide geometry while sculpting. This can drastically improve Blender’s performance; as with the “Enable Dynamic” option activated each stroke can potentially increase your model’s polygon count. Like many professional 3D content creation suites Blender is not optimized to render vast amounts of polygons in the viewport, so it’s definitely worth keeping an eye on your model’s polycount as you sculpt and to be aware of what your system can handle.
The Skin Modifier
The new skin modifier can work in conjunction with Dyntopo as it enables you to quickly block out a model and apply a pose rig to the model (that uses FK) and subsequently within a few minutes you’re ready to start sculpting! It’s ability to convert a set of edges and vertices to an armature is time-savingly productive and intuitive. Vertices can also be “scaled” to move the skin cluster surrounding that vertex closer towards the vertex or further away from it. Although this might sound trivial in it’s application it is in fact the basis on which creating the initial form of a model for dynamic sculpting is determined.
The general technique I use for working with the skin modifier to create a base model for dynamic sculpting is to first create a stick figure with vertices and edges. This will then form the armature used for the model’s pose rig. Once the skin is created I go through each vertex and set it’s scale for the skin, Blender conveniently provides realtime feedback, by recalculating the skin’s geometry with every tweak made.
It’s important to note that the geometry that the skin modifier creates in areas where vertices are close together might not always turn out as expected. These areas can result in non-manifold geometry, leaving tears in your mesh. If this cannot be fixed by scaling or translating the relevant vertices, you might need to rebuild that particular part of the mesh in edit mode then re-assign weights to the pose rig. Although one of the major advantages of dynamically sculpting is that base models do not need to rely on perfectly placed edge loops for subdivision, it’s still worth starting a dynamic sculpt with a mesh that represents a clean shell of your model that does not have non-manifold geometry intersecting the mesh’s interior volume. Geometry that is obscured in such a manner by the mesh’s exterior (or shell) will also be tessellated during dynamic sculpting, but will serve no useful purpose and contribute to increasing your model’s polycount sometimes with drastic effects.
In some instances when the desired result for sculpting a certain area is just not manifesting as you’d hoped in your model, it might be best to drop into edit mode and delete the polygons comprising that area then close the resulting hole with a few ngons, before making a second attempt. I’ve found that this keeps polycount at a manageable level and in conjunction with hiding geometry provides near realtime feedback on extremely dense meshes that have been reworked several times.
Retopologizing a Dyntopo Model
Not all models created with dynamic sculpting need to be retopologized. A few of the reasons you might consider retopologizing your model include if you want to create a workable UV layout that can be used for texture painting etc, if your model is intended for continuously deforming animation (such as character animation), if you want to export your model to another 3D application or games engine working with a high poly count could really slow things down.
For me, the most useful feature in retopologizing is the snap to faces button. Once this button is enabled, it’s just a simple case of extruding vertices to create the desired edge loops. Then selecting edges and creating polygons. It’s always very tempting to create a fully quadrangulated mesh through retopologizing however this is not always necessary and in certain instances when the mesh is intended for a static shot using ngons in the model could speed up the modelling process and have no visible effect on the quality of the rendering.
Once a retopologized mesh is created, it’s a simple case of creating a normal map if desired and/or using multires and shrinkwrap modifiers to retain the sculpted details and maintain a manageable, deformable model.