Website powered by

New Blender Sculpt Mode: Introduction

General / 20 June 2019

Hi! My name is Pablo Dobarro. I'm a 24 years old 3D artist and software developer from Spain. During the last few months I’ve been developing a custom Blender version known in the Blender community as the sculpt-mode-features branch. I added a lot of new features and workflows to several areas of Blender, trying to make the best possible tool for stylized sculpting.

If you never used Blender or you never used Blender for sculpting, this blog post may be for you. I’m going to give you a summary of what the new features are and how to start trying them. On the other hand, if you are and experienced Blender user, I wrote a blog post in code.blender.org explaining all the technical details of this development.

Why?

I started learning 3D art while I was taking a computer engineering degree. I enrolled in an online course of 3D character modeling. I already knew Blender, so after finishing the course, I began working on my portfolio,

After learning the regular character workflow and applying it to some pieces, I started noticing some problems that were annoying me:

  • I can’t work efficiently using other sculpting software's viewport.
  • The workflow between other dedicated sculpting apps  and Blender is an absolute nightmare. There are addons to support it, which make the process easier, but that does not solve the problem. If you are working on a complex scene with rigs, modifiers and meshes with multiple materials and uvs, pressing the export button by accident could easily mean 8 hours of extra work.

On top of that, my computer engineering degree was not particularly great in terms of content, so I also needed something “real” to show some software development skills. I consider this new Blender sculpt mode as another piece of my portfolio. I thought that it was reasonable to spend a few months working on this before continuing making art.


Small disclaimer: If want to sculpt extremely high poly models with a lot of subdivisions and surface detail, Blender probably still won’t work for you. Brush performance is OK, but the issue is how Blender manages high poly meshes internally. Operations like switching the active sculpting object or changing modes are going to be really slow and your workflow is going to be constantly interrupted. There are also some issues with the detail propagation across the subdivisions levels. Modifying the mesh in a subdivision level may destroy the detail in the highest ones. Solving those issues require deeper changes which may affect other areas of Blender, so I can’t tell when they are going to be fixed.


If your art style is similar to mine and you have a computer with a mid range graphics card, this could totally work for you. Blender does not have the insane amount of sculpting features other sculpting applications have, but almost everything you may need to work comfortably is now there. On top of that...

  • You can sculpt with EEVEE enabled, a real time render engine with PBR materials and real time lightning.
  • You can work with an unlimited number of viewports on different shading modes updating in real time as you sculpt
  • You can work with procedural generated content in your sculpt using Blender’s modifier system, curves, particles and simulations
  • You have a full featured scene management system with file linking, instances, collections…
  • You can use a real rigging and animation system to pose you characters



New features

There were a lot of small tweaks and changes I made to make the sculpting experience in Blender better, but here is a summary of the most important and workflow changing features I added:

Brush system tweaks

The most noticeable change is that now this Blender version has a brush cursor which follows the surface normal. That was not only a visual change, some tweaks and parameters where added to the brush deformation code to support this feature properly.

On top of that, I also added an alternative smooth mode which relaxes the topology without modifying the volume, and I fixed some issues with the stroke sampling code, so now brushes should behave properly on curved surfaces.


Voxel remesher

Blender already has dyntopo, It triangulates the topology to a desired level of detail as you sculpt. In Blender, this has a noticeable performance penalty. When using dyntopo, you need to be careful with the vertex count of your sculpt. If you go too high, brush strokes are going to be unusable slow.

This build introduces the voxel remesher. When you run it, it recalculates the geometry as a quad manifold mesh. Unlike dyntopo, this mesh is static, so it does not have any performance penalty. This means that you can now use a much higher resolution when blocking the shapes of your sculpts.

The voxel remesher uses OpenVDB, so it is super fast. In fact, you can run it in real time using the Remesh modifier, and even use it as a CSG modeling tool. It also preserves the vertex colors and the mask of the sculpt when you update your mesh. And yes, an automatic retopology remesh mode is also planned.



Sculpt vertex colors

Blender already has a vertex paint mode which is great for low poly models, but it is completely unusable when you try to paint on a mesh with more than 100k vertices because of design and performance issues.

I wrote a whole new vertex paint system and I ported all the functionality from the old one. This new vertex paint mode is up to 90 times faster in some operations, it supports all features from sculpt mode (symmetry, optimized mesh viewport drawing, masks, undo…) and, of course, you can sculpt and paint at the same time.



Transform tool

Blender has a general purpose transform system which supports snapping, orientations, constraints, a complex keymap, gizmos and so on. Now you can use this same transform operator from sculpt mode on meshes with millions of vertices without any lag. It also includes some functionality to position the pivot point automatically.

On top of that, I created a pose tool. You can click and drag on the mesh to generate a mask. The mask generation is super responsive, so you can use it to pose high poly meshes.



Mesh, mask and color filters

Filters are operations which affect all the vertices in the sculpt, taking the mask into account.


The mesh filter tool has some basic deformation algorithms and a noise generator you can use to create surface detail. The color filter has HSV, brightness/contrast and channels adjustments for the sculpt vertex colors. Grow, shrink, blur and sharpen mask operations are also supported, as well as cavity mask generation.



Automasking and mask generators

Blender has vertex groups, but they were not designed to be used in sculpt mode (they are often used for rigging and modifiers). So I added some mask generators. These operators generate a mask by clicking on the mesh, following certain parameters.

Probably the most useful is the mask by normal operator. It generates a mask limited by the ‘edges’ that were sculpted on your mesh, so you can use it to select ‘faces’ of your hard surface sculpts. 

I also added an automasking system. The UI is not ready yet, but some of its functionality is already exposed. You can prevent brushes to affect the open edges of your mesh or topologically unconnected areas.



Try it!

I first want to clarify that all the features I showed you here are not a Blender addon. You can’t install them on top of your current Blender installation. You need to have another Blender installation with a different executable, which has been compiled with the code of these features. Also, this development is currently not part of the official Blender 2.80 you can download from Blender.org.

The code of this Blender version is in the sculpt-mode-features branch of the official Blender repository. You can build the code following the tutorial in the Blender developer documentation (try it! it is not hard).

If you don’t want to build Blender, I provide a ready to use executable for Windows on my Patreon. You can also search for builds of the sculpt-mode-features branch on Graphicall or other Blender forums for Mac Windows and Linux.

When you have that build, just run it (you don’t need to install anything or modify your current Blender installation in any way). If you see ‘Branch: sculpt-mode-features’ on the splash screen, it is already working.



Just a few notes:

  • Yes, it is going to crash (more than I would like to), but it should not damage your files, so try to save often.
  • Don’t try to use any of the new features with dyntopo or multires sculpting, they won’t work and you will have a 100% guarantee crash.
  • You can open files created with the official Blender 2.8 version. You can also copy objects and materials between the official version and this one.
  • This Blender version is under active development, so features may change at any moment. Try to make sure that your build is up to date.
  • You won’t find every tool I mentioned in this post in the menus or in the search box. Some of them are not intuitive at all to configure, even for experienced Blender users.
  • If something in sculpt mode is totally broken it is probably a configuration issue. Some quick tips:
    • If the brushes are not deforming the mesh check if the normal radius parameter is not 0.0
    • If the sculpt vertex colors are not displaying in the viewport, add a vertex color layer

I’ll try to make more detailed blog post explaining each feature in detail, how to configure them properly and how I use them in my workflow. 

I would be really grateful if you start playing with this Blender version, especially if you are into stylized sculpting and you use ZBrush or 3D Coat. Your feedback is really valuable to improve the design of the tools as much as possible before including them in the official Blender release. You can follow me on Twitter where I regulary post development updates and personal projects. 


Thank you!

Pablo

Report