The Remesh tool allows you to re-tile a mesh with a new set of triangles. This can help with a wide range of problems, from cleaning up "broken" meshes, to reducing triangle counts, to producing high-quality meshes for finite-element simulation. As you become more familiar with Meshmixer, you will find more and more uses for Remesh. Also, many tools in Meshmixer use our remeshing algorithms internally, so having a good understanding of the Remesh tool will help you understand the behavior of those other tools.
The hotkey for the Remesh tool is r.
The property panel for Remesh is shown to the right. This is a very complex panel, and many of the options have major effects on the behavior of the Tool. So, below you will find detailed descriptions of each setting, with examples for most parameters.
Except Iterations. That one is easy to understand. Our remeshing algorithms are iterative, in that they basically do the same thing multiple times in a row, in an attempt to converge on a "good" solution. Generally, more iterations means better results. However, each iteration takes time, so more iterations also means a longer wait. You will likely never need to change this setting, but it is there for you anyway. One interesting experiment is to try stepping up from 1 to 10 rounds to get a sense of what happens during a Remesh. You'll see that most of the time, after 3 or 4 rounds, the changes are very small.
There are currently four main options for controlling the remeshing, under the Remesh Mode drop-down. Relative Density and Target Edge Length are the same method, just with a different way of specifying your goal. Adaptive Density is a variant that will try to preserve detail when reducing the triangle count. And Linear Subdivision is completely different than the other methods!
Relative Density and Target Edge Length
In Relative Density mode, you use the Density slider to specify a percentage-change in the target edge length. You can request up to a 50% increase or decrease in the average edge length over the input area. In the image below we show the original mesh, Density = 50%, and Density = -50%.
Target Edge Length mode is very similar, however instead of specifying a relative percentage change, you specify a specific target edge length, using the Edge Length slider. Be Careful!! If you specify a very small edge length, the computation could take an extremely long time.
Note that we can only approximately satisfy a given edge-length criteria (relative or absolute). This is the nature of the remeshing algorithm - it is extremely difficult, mathematically, to find a mesh that has tightly-bounded edge lengths. We can at best provide an approximation, with roughly 50% deviation from the target value. Note also that some edges may be constrained due to boundary or internal constraints, which will produce lower-quality triangles (e.g. around the neck in the image above).
In Relative Density mode, we are trying to achieve uniform edge lengths over the target area. In Adaptive Density mode we try to use non-uniform target edge lengths, to preserve fine details. This really only has a major effect when reducing the triangle density, except that it can also help to prevent important features from being lost when remeshing at similar or higher densities.
You can set the Threshold slider to (roughly) specify how much detail-preservation you want. In fact this value is mapped to an angle constraint, so at very low thresholds, only very very flat areas will be modified, while at high thresholds the result will be similar to a non-adaptive remesh.
The image above shows an initial mesh, an Adaptive Density remesh at -50%, and the non-adaptive Relative Density result. The Adaptive result does a much better job of preserving features, while still allowing for significantly larger triangles in some areas.
In Linear Subdivision mode, the remesher is highly constrained. It is only allowed to precisely split existing edges. This has the advantage of exactly preserving the positions of the input edges, so the actual surface of the mesh (and any embedded shapes such as face groups) will not change shape, at all. This can be critical if you need to remesh to allow for some other operation (eg a Boolean), but don't want to lose any details. The trade-off is that unless your input mesh was highly regular, Linear Subdivision will tend to create very irregular and low-quality triangles, particularly around selection or mesh boundaries.
The image above shows an input mesh, a Relative Density remesh (middle), and the Linear Subdivision result (right). Note that the Relative Density version has lost the sharp edges, while they are preserved in Linear mode.
To understand the Regularity slider, you have to know a bit about how the remesher works internally. We use rounds of edge splits, collapses, and flips (rotations for you poly-modelers) to add and remove triangles. This is interleaved with smoothing of the mesh, where (roughly) each vertex moves to the center of its neighbourhood. The Regularity slider controls the amount of this smoothing. Higher Regularity means that your triangles will be more "regular", ie roughly equilateral. This is visible in the image below - on the left we have very low Regularity, and on the right we have it set to the maximum. Note that if you set Regularity to 0, you will get a result very similar to Linear mode.
So, why not just always set Regularity to maximum? Well, that smoothing can result in a change in shape. This happens mainly when you have a low mesh density relative to the level of detail of your surface. For example, at the tips of the ears of our bunny, large changes in shape are represented by just a few triangles. In this case just a bit of smoothing can move the vertices far enough that the local shape is lost.
One thing we didn't mention above is that after smoothing, we reproject the vertices back onto the input surface. So, with high smoothing and insufficient triangle count, the mesh will tend to "slide off" fine details. As a result, in these cases you don't want Regularity to be too high, and so we set the default to be conservative.
One thing you will quickly notice when remeshing sub-regions of a larger model is that the triangles tend to get pretty ugly at the selection borders. This is because the selection border is a hard constraint - we do not split or collapse any edges along it. So, to increase or decrease the density right next to the border, we have to use a bunch of sliver triangles.
The Transition parameter allows you to specify a gradual transition from the input border edge-length to the target edge length. This transition happens over a band inwards from the selection boundary, and the Transition parameter specifies the width of that band.
The image above shows a result with and without use of Transition. On the right you can see that the triangle density changes more gradually around the edge of the orange selected region.
Note: currently you have to set this Transition parameter to ridiculously large numbers compared to the size of your model. We're working on it!!
Preserve Group Borders
As you become more experienced with Meshmixer, you may find that you start to use Face Groups to demarcate important regions of your model. This is very useful in many modeling tasks. For example, if you have important feature edges in your model, creating face groups for each patch (ie like the patches in a B-Rep solid modeller) means you work with your model at a higher level of abstraction. So, when you need to remesh, you don't want to lose those face groups! The Preserve Group Borders checkbox tells the remesher that you want to preserve your group borders.
The image above shows an area with a facegroup, a selection, a remesh without preserving the group borders, and then finally (on the far right) a remesh with the group border preserved.
Note that the group border is still re-sampled when lowering the density, the shape is just (approximately) preserved. Currently we do not have an option to enforce a hard constraint on the Group Borders. To achieve that, you need to separately remesh the interior and exterior of the group (which is pretty easy to do, using the group-double-click shortcut in the Select tool). Or use the Reduce tool, which does have that behavior.
As we mentioned above, Preserve Group Borders is also useful if you would like to remesh objects with sharp edges. If your mesh doesn't have face groups already, you can use Generate Face Groups to quickly create a decomposition. The image below shows a very common scenario, where the mesh has been exported from a CAD tool. CAD tools often create meshes with minimal triangulations, which do not work well in Meshmixer. Several rounds of Remesh with Preserve Group Borders produces a very high-quality result. (Note that you may find that Adaptive Density mode works better in this kind of situation).
The Smooth Group Boundaries checkbox is related to Preserve Group Borders. It prevents group boundary vertices from moving at all (otherwise they can slightly slide around during resampling). However this effect is very minor, so you don't really need to worry about this option.
Preserve Sharp Edges
We mentioned above that Face Groups are a good way to create feature boundaries that are preserved during remeshing. If the feature boundaries you care about are sharp edges between otherwise flat/smooth regions, then there is another option that allows you to skip the sometimes tedious step of creating many facegroups. When Preserve Sharp Edges is checked, we identify and constrain sharp edges. The image below shows an example where the cylinder on the left (which has no facegroups) is remeshed without (middle) and then with (right) Preserve Sharp Edges checked.
The Sharp Threshold slider allows you to control what is considered "sharp". The sharp-edge detection is based on opening-angle between pairs of triangles, this slider specifies the opening-angle threshold.
The Boundary Mode drop-down controls the behavior of the remesher at mesh boundaries. Note that this setting is currently ignored in cases where you have selected a sub-region of the mesh. In such cases we must precisely preserve the selection border, and currently this means we also preserve any mesh boundaries within the selection.
The image below shows an example of reducing density, where the middle image uses Fixed Boundary mode (the default), and the right image uses Free Boundary mode. You can see that in the Fixed mode the input boundary loop is precisely preserved, even though it results in some sliver triangles. In the Free mode, we allow the boundary to deviate, and so the mesh quality is improved. The line of the original boundary is shown while using the tool.
In this image we are increasing density from a lower-resolution mesh (not shown). The leftmost image uses Fixed Boundary mode. Note the constrained lower-density boundary at the top of the image. In the middle we use Free Boundary mode, which has no constraints. However, one drawback of Free mode is that important internal features may be resampled - in this case the border of the internal circle has been coarsened. In the rightmost image we use Refined Boundary mode, which allows edges to be split but not collapsed or smoothed. So, the outer border gets a nice upsampling, but the shape of the internal hole is preserved.