One of the more well-known and frequently used tools for 3D modeling is the boolean tool, which assigns one object and uses its shape to cut into a second object, easily creating a customized shape in quick time. Recent versions of Blender have introduced exact solvers, but what is the difference between the new exact solver, and the traditional fast solvers?
The boolean fast solver is a method used to calculate the effect of the boolean on a model. As the name suggests, the boolean solver allows for quick results at the potential result of accuracy. By comparison, the exact solver is more computationally heavy, taking more time to complete but producing more accurate results with less potential for artifacts.
So exactly how does this all work when using the boolean tool, and in what scenarios would you look to choose one solver over another?
How Do Solvers Work For Booleans?
A solver is an algorithm used for calculating specific functions. If we take a look at the boolean modifier we will see that we have numerous options here including the option to choose between fast and exact.
This is different from choosing between the different boolean methods above which are union, intersect, and difference. These methods tell Blender how the main object is going to interact with the boolean object, By contrast, the solver calculates how the geometry is to be reformed when the boolean method takes effect on the main object.
The fast solver is the quicker of the two algorithms but is also the less accurate. It works by finding what is known as the overlap threshold. The user can change this threshold value in the boolean modifier to determine the distance between two faces before they are considered to be overlapping.
The fast solver will adjust the boolean based on this value, as faces that are considered to be overlapping are effectively ignored in the calculation. The threshold is there as a parameter in the boolean modifier to help fix the main issue with this solver, in that it does not account for overlapping faces when working the boolean. By adjusting the value, you can improve the final result and help to avoid unwanted artifacts in the boolean.
On the other hand, we have the exact solver, which offers a more accurate result for when the geometry is reconstructed as it DOES account for the overlapping geometry. The exact solver is considered to be much slower than the fast solver but what does this mean in practical terms?
When using the boolean modifier we are working with a non-destructive workflow. The changes that we make with the modifier are not permanent until we apply the modifier. This means that we can take the boolean object for example and move it around our scene, changing its effect on the main object.
Using the fast solver, the viewport performance while moving the boolean object is generally smooth but can become less responsive when using the exact solver instead, as it takes much longer to calculate and recalculate the modifiers affect each time it is moved.
The exact solver has a couple of additional parameters that you can toggle on and off to further affect the boolean calculation. Each of these can be applied for more accurate results at the further expense of computational time which further decreases viewport performance.
Enabling self-intersections allows the modifier to calculate instances where the geometry of an object intersects itself. In most cases, this should not be required as your models should not have intersecting geometry anyway, so activate only as a troubleshooting step in case your boolean is not behaving as expected.
Hole tolerance is the second option and should be enabled when either of the objects already has holes in it. This option helps to better calculate objects with these characteristics at the expense of computing time. This option should be ticked when working with a hollow object, but otherwise should be kept off.
If your object does have holes in it and has not been given any thickness using the solidify modifier, then you may have other issues down the line even though the hole tolerance allows the boolean to work with nonmanifold geometry.
What To Use The Fast Solver In Modelling For?
It is preferable to use the fast solver when working with objects that have a lower geometry count or do not require to be absolutely perfect for their purpose. Objects that have less geometry are far less likely to have to deal with overlapping faces compared to higher-density ones.
Most objects that you create will not have to use the exact solver, and the boolean objects that you use will also likely be a shape that is unlikely to have intersecting faces or nonmanifold geometry.
Therefore in the majority of cases, it will be sufficient to use the fast solver as the algorithm for the boolean modifier.
When To Use The Exact Solver In Modelling?
Even though the density of assets created in game design is traditional of lower density, you should still look to use the exact solver for booleans on any object that may be controlled or animated.
Models that have poor topology (the flow of geometry) may not animate correctly in a game engine or can create glitchy behaviors such as vertex distortion.
The exact solver does a better job at ensuring the topology of the model remains usable and that the flow of the geometry is not disturbed too much.
Another example where the exact solver would be the better option is with 3D printable designs. Here the model needs to meet numerous requirements to ensure that a 3D printer can successfully create it. Any issues with the geometry may cause the 3D printing process to fail.
Do Solvers Apply To The Boolean Tool?
When using Blender you will have access to the boolean tool as well as the boolean modifier. The bool tool is an add-on that comes preinstalled with Blender.
To enable it, go to the preferences panel through the edit menu at the top of the Blender UI. Then go to the add-on subsection and type in bool in the search bar. Tick the checkbox for the bool tool and then close the preferences panel.
The bool tool is accessed as its own tab in the side panel, so press N to open the side panel in the viewport and then select the edit tab towards the bottom.
You will find in the options here that you cannot change the solver that the boolean is using. However, the brush objects from the bool tool are effectively the same as modifiers. If you select one of these options and then return to the modifier stack, you will see the option for the fast and exact solvers under a custom boolean modifier.
Thanks For Reading The Article
We appreciate the time you have taken to read through this article. We have compiled a selection of additional topics below that we believe you may be interested in.
- What Are Normals?
- How To Identify Normals In The 3D Viewport?
- What Is The Shortcut To Adding A New Mesh Object?
- How Do I Assign A Blender Shortcut To A Tool?
- How To Extrude 3D Text In Blender?
Creating A Bouncing Ball Animation In Blender?
If you are learning about 3D animation, then one of the first animations that you are likely to create is a bouncing ball. There are several youtube tutorials out there
Using The Graph Editor To Create Animations (Beginners Guide)
3D animation is one of the core reasons why someone would look at learning an application like Blender 3D, as it can be used to create both 2D and 3D