Sometimes we need to cut holes into an object. Every other 3D app under the sun would call this a Boolean Operation – except for ZBrush of course, where this problem is solved with a (totally unintuitive) DynaMesh trick.
While the ZBrush manual mentions that this is easily achieved, they’ve missed out the part on how to actually do it.
Let me explain that here before I forget (which is probably tomorrow).
Let’s assume we have a cylinder and we’d like to cut a hole into it. Drag out a Cylinder3D, enter Edit Mode and turn it into a PolyMesh 3D.
The mesh which we’d like to cut into has to be a DynaMesh, it won’t work otherwise. Head over to the Geometry menu (under Tool), then hit the big DynaMesh button. Time passes as ZBrush retopologizes your object. Depending on the Resolution slider, ZBrush will increase the size of your mesh considerably. The default is 128.
Now pick the Insert Cylinder brush, hold down ALT and drag somewhere on our first cylinder. Holding down ALT tells ZBrush that we would like to subtract this object later, otherwise it will combine it by default.
Sadly ZBrush will show our inserted object without its backside. If this is driving you nuts, head over to Display Properties and select Double. Now we can see what we’ve inserted properly. This step is optional.
After using an insert brush, ZBrush automatically masks everything except for the last mesh. Clear the mask before we continue by CTRL-dragging on an empty part of the canvas (or head over to Masking – clear to do the same thing).
At this point, our cylinder may look something like this:
To cut out the small red cylinder, head over to Geometry – DynaMesh again and hit Sub (or even Add, the will do the same thing in this case because we’ve added a “negative object” by holding down ALT when we inserted it). Alternatively, CTRL-drag again on an empty part of the canvas.
The result is a nice (relatively) clean cut into our large cylinder, and ZBrush automatically turns the cut part into its own Polygroup. If you’d like to cut out another part of the object, make sure said Polygroup is removed before you do, otherwise there may be unwanted side effects.
If the resulting mesh is too dense for you (thanks to DynaMesh), apply the ZRemesher to quickly decimate your object. The result looks a lot cleaner than what Boolean Operations usually leave us with.