Sculpt Mode Features Update

This blog post is a continuation of the Sculpt Mode Status Report. Here Pablo Dobarro talks about the tools that were added to Sculpt Mode that were not initially available in the sculpt branch.

All these tools were designed and developed during the release cycle of Blender 2.81 and 2.82.

Merging the Branch

In the last 4 months almost all features that were available in the sculpt branch were merged into master. We opted to create an abstraction layer to make them compatible with Meshes, Dyntopo (with static geometry) and Multires. This layer assigns a unique identifier to the vertices to access position, normals and mask data, as well as iterators for mesh connectivity. All tools in the branch were rewritten to use this layer.

Also, with that layer in place and the option to use the Voxel Remesher in the workflow as an alternative to Dyntopo, designing and coding new tools in Sculpt Mode is much easier. This allowed the development of new tools and brushes with a level of complexity that was not possible in Blender 2.80.

New Sculpt Tools

Pose Brush

The first version of the Pose Brush was added in 2.81. This brush lets the user pose models simulating an armature deformation. Internally, it is a mix between the Mask Expand operator and the Transform tool.

Pose Brush with Inverse Kinematics enabled.

As a lot of people seem to like it, in 2.82 the brush was fully rewritten to include inverse kinematics, twist deformation and the ability to control the smoothness of the weights.

IK Pose brush without anchored IK, available in 2.83.

This brush will probably continue getting updates in the future as it is one of the most time saver additions Blender Sculpt Mode has. For 2.83, there is already a patch to use it without a fixed anchor point.

Elastic Deform

Elastic deform brush tool.

This brush is a implementation of the Pixar’s paper Regularized Kelvinlets: Sculpting Brushes based on Fundamental Solutions of Elasticity. In 2.82, the brush was refactored and now all Kelvinlet functions are available in BKE, so they can be used in other areas of Blender (Grease pencil, proportional editing…).

Topology Slide/Relax

There was a Relax brush in the sculpt branch, but it was using a complex and inefficient algorithm to calculate the deformation. The final version included in 2.82 is much simpler, faster and produces better results. It also includes by default a Slide mode, which moves the topology over the mesh in the direction of the stroke.

Relax Mesh Filter and Slide/Relax brush tool.

The Relax deformation is also available as a mesh filter, which distributes the topology of the model automatically.

Multiplane Scrape

This brush was designed to create sharp edges in stylized models. It deforms the mesh by trimming the geometry with two planes at the same time. This produces a more controllable artifact free deformation than any other brush based on curves and alphas.

Multiplane Scrape in dynamic mode, adapting to the curvature of the surface.

This brush can also create creases on concave surfaces and dynamically adapt the planes angle based on the curvature of the surface. It can also change from a convex to a concave crease during the same stroke.

Clay Thumb

This brush simulates deforming clay with fingers, taking into account the stroke length to produce an effect similar to material accumulation. It has a secondary strength stabilizer, so it can also be used with devices with no input pressure, like mouses or touch screens. In the future it can be improved by analyzing the speed and the curvature of the movement to modify the deformation.

Clay Thumb brush demo (with strength stabilizer disabled).

Mask Extract and Slice

Mask extract tool in 2.81

Two new operators were added to create new geometry based on the sculpt mask. Both operators are very similar, they remove the masked/unmasked vertices using BMesh and create a new object from the new mesh. Extracting the mask is common operation for creating cloth and hair on characters, and slicing can be used to remove unwanted parts of a model when using boolean operations is not practical.

Mask Slice Operator demo.

A proper trimming tool based on geometry Boolean is also planned, as slicing the mask is not the most efficient way of using the feature for a hard surface sculpting workflow.

Redesigned Clay Brushes

There were some modifications in the way Clay and Clay Strips work. In 2.82 I introduced hardcoded mapping curved for pressure/size and pressure/strength, which increases the dynamic range of the brushes when using a pen tablet. The Clay brush now also analyzes the surface to calculate a maximum and minimum deformation plane to simulate the behavior of filling a surface with clay in a controllable way.

Comparison between the 2.80 and the 2.83 default Clay Strips brush.

Clay Strips will also have a Tip roundness property, which controls both the shape and the hardness of the brush. After merging this, the brush tip will be a perfect square with straight edges.

Dynamic Mesh Preview

This feature was designed to work in low poly meshes with modifiers enabled. When using the Grab Brush, it draws the original mesh as part of the cursor, so you can see the real geometry while moving the vertices.
It also snaps the maximum brush strength to the active vertex, so it behaves more like a selection instead of a brush falloff.

Dynamic mesh preview and Grab Active Vertex in the Grab Brush.

Mask By Curvature

The Mask by normal operator was redesigned and merged into the Mask Expand tool. Now it can detect the mesh curvature and generate the mask interactively by clicking and dragging on the mesh.
In the future, the mask expand operator will include other modes, such as expand by color (which will be similar to the smart selection tools in image editing software) or expand by edge length.

Mask Expand operator in curvature mode.

Future

These features are not in master yet, but they have a functional patch in the tracker. They are currently under review or in an early design stage, so the final functionality may change.

Sculpt Vertex Colors

The sculpt branch included a MVertCol datalayer to paint colors in sculpt mode, but the implementation was very basic and limited.

The final version of the MVertCol datalayer and its Sculpt Mode integration is currently on review, and it has all the expected features such as:

  • Rendering support in Workbench, EEVEE and Cycles
  • Preserve all color layers when using the voxel remesher
  • Layer management

Features as Multires support and baking are also planned.

To merge this feature, we are considering splitting the painting functionality of Blender in two different categories. On one hand, the dedicated painting mode (for what can be considered artistic painting) and on the other hand, more technical modes that can use brush tools (such as weight paint, retopology, particle editing…). This will allow to develop both workflow to their full potential, without conflicting features or confusing design. In this case, this will result on a Sculpt/Paint mode and an Attribute edit mode. The Attribute edit mode final design is still unclear, but the design and development of Sculpt/Paint mode is more advanced.

Sculpt Vertex Color Paint brush with flow, wet mix, persistence and rectangular brush tip.

The new Vertex Paint functionality in sculpt mode will have a new brush engine with all functionality expected from a painting and illustration software, such as opacity, flow, wet paint, noise or different tip shapes. It will also include common painting functionality such as color adjustments in form of a color filter (already in the sculpt branch) and a color gradient tool.

Painting done using Sculpt Vertex Colors on a subdivided plane with 4.2M vertices.

Once these tools are fully developed and merged, the idea is to use them as a reference for the brush implementation of Texture Paint.

Visibility Management

Sculpt Mode only has two operators to manage the visibility of the mesh (Hide box and Hide masked). This is very limiting when working with sculpt with complex shapes or overlapping surfaces, which limits the usability of sculpt mode as a whole.

Face Groups are a solution to this problem. They are a datalayer that stores IDs and visibility at the same time in the faces of the sculpt. They can be painted with a brush or created on the fly by clicking and dragging on the mesh (similar to mask expand). Then, you can hide everything but the face group under the cursor just by pressing H, and show all hidden geometry by pressing H again.

Expand Face Group and Paint Face group with visibility control operators.

As Sculpt Mode already has in memory a structure that maps vertices to polygons, the performance cost of this feature in high poly meshes is almost none. They can be used as an alternative for automasking or to limit the effect of a mesh filter without any performance penalty.

Face Groups demo for visibility, automasking and mesh filter.

This is a feature that was specifically designed for painting modes (it should not be confused with rigging face maps or a future implementation of custom face clusters for the everything nodes project), so the final name may change. In the future, this same design and workflow can be used in Texture Paint.

Snapshots

The idea behind this feature is to temporally store the state of the mesh to be able to go back to it after doing some modifications, but the scope of the feature still needs to be determined.

Snapshot Write brush tool demo using internally stored snapshot.

Currently, snapshots can be stored internally (as part of the SculptSession) or by duplicating the mesh datablock. When using the snapshot write brush (it can be also easily implemented as a mesh filter), the details from the selected snapshot are sculpted back into the current mesh.

Mesh datablock snapshots are updated when using the voxel remesher with a shrinkwrap, so this is really useful when creating concepts, as it allows the artist to go back and mix sculpt features from different stages of the concerting workflow.

Texture Mesh Filter

This lets the user select a texture datablock to limit the effect of the mesh filter. It can be a procedural texture or an image texture with cubemap projection. It is really useful to quickly add high frequency detail to objects

Mesh filter with image and procedural textures.

Voxel Remesher detail control

Edit Voxel Size prototype.

This operator controls the voxel size of the voxel remesher in a more intuitive way, with a real time preview of the voxel size in the viewport and a UX similar to the brush radius/strength controls.

Cloth Brush

This new sculpt brush has a custom cloth solver than can run only on localized areas of the mesh by creating the constraints only on affected PBVH nodes. The brush has parameters to control the physical properties of the cloth, the simulation, falloff and deformation modes.

Cloth brush with drag deform type.

While using a regular cloth solver that runs a full simulation will produce more accurate results, this brush is really useful as a replacement of brushes with cloth alphas, when you only need to fake cloth details in some parts of the mesh.

The Sculpt Mode Project

Some of the features described in this blog post can be considered really advanced for a sculpting system, but Blender still has some issues that prevents them to be used to their full potential.

In order to solve this, there is a TODO list in the tracker that is about all that is left to be done to have a fully functional stylized sculpting workflow. After that task is finished, it should be possible to use all the features described here and in the previous blog post as they were designed.

This does not mean that all these features are not usable in the current releases, but you may need to do unnecessary workarounds and deal with some limitations that we are aware that they should not exist in Blender.

This is specially important for people creating full workflows documentation, courses or tutorials, as it may lead to misleading information and weird workflows due to missing or incomplete features (and in some cases, the missing feature is not directly related to the feature that is being explained).

After finishing the pending tasks on the list, we will make a public announcement on that release saying that the sculpt workflow is complete. Then, you should be able to use it without any limitation and make full workflows tutorials without explaining workarounds. We will continue adding new features to the sculpting system in later releases, but the core concepts explained in those tutorials will remain valid for a long time.

Also, I would like to point out that even with that task list finished, Blender will not be optimal for creating sculpts that rely on sculpted surface detail (you can still create models with surface detail by faking it in shaders). This is because all missing features to support this are mostly related to Texture Paint and Texture datablock code and not to the sculpting code. There is still no design work done about Texture Paint and its features, so we don’t know when is this going to be supported. After adding the required features to the texture code, sculpt mode is going to get the same features automatically.

In the meantime you can create projects with all the features included in 2.81, 2.82 and in daily 2.83 builds to start getting used to how the final sculpting system is going to work.


Pablo Dobarro’s work is supported by the Blender Development Fund, become a member now and ensure the future of Blender.

32 comments 10,008 Views
  1. The big question right now, is what’s the faith of Dyntopo?

    • They don’t care about high res sculpting it’s only stupid cartoony stuff because that’s all what Blender can handle.

      • The “Voxel” workflow can still do highly detailed stuff. The results, ending result of your model, can be the same amount of detail or higher. Even if you started with triangles or quads.. If you can do 20m-50m triangles with dyntopo, then you should easily skyrocket above in a voxel/multires workflow.

        However, a fully functioning multires needs to be placed into blender. Yes, the multires is being reworked.

        • Good luck remehing 20+million without blowing your computer, voxel workflow is different from dyntopo and has been in Blender for years but to come and say we should remove it, is the problem especially that Pablo doesn’t use it or see it useful where everyone else in the community think otherwise, it will be a huge mistake to remove it completetly, this is not like the game engine where it had little support or users caring about it….this will blow the ship out of the water.

          • dynotopo Is not getting removed, what are you saying, he said himself that it’s gonna be deprecated, it’s just not gonna receive new updates because he and other developers know the system is not able to grow as it is now, so they might be thinking in adding a new dynotopo down the road to replace this one

          • You can’t really fix a bloated broken script in a few days to make it more efficient. Dyntopo would have to be rewritten from the ground up.

            “”They don’t care about high res sculpting it’s only stupid cartoony stuff because that’s all what Blender can handle.””
            And personal attacks to the developers doesn’t help.

            There is more harm inside keeping dyntopo currently if no one has been working on it since 2013-2014. It just gets more hacks and become more bloated.

            Who knows, a new developer might see this as an opportunity to make their own Dynamic Topology version and mesh system. Until then..

      • Oh you are so tough calling other people’s art “stupid”. The lack of respect some people show on the internet never ceases to surprise and worry me.

        • when someone says
          ‘Voxel Remesher in the workflow as an alternative to Dyntopo’ and ‘that is about all that is left to be done to have a fully functional stylized sculpting workflow’.

          then care only about the style he does, then his statement is stupid, i have nothing against art styles but if you have the authority to push only for yours and ignore the other ones then, you shouldn’t be given the final say on the sculpt mode, period.

        • You sound dumb right now not going to lie

          • And you sound like you have no counter argument besides making stupid comment 🙂

      • Not really, you can use it for realistic styles as well. The only limitations you will have with sculpting is your imagination and sculpting skills. All you have seen so far are artists who prefers doing stylized/cartoon stuff but that doesnt mean blender isnt capable of doing more than that.

        i am using Blender for creating realistic characters.

        you can do basically anything at this point, there are no excuses.

        • Dyntopo & Multires that lets you do realistic stuff not the voxel remesher…take those out and you’ll see, once Dyntopo gets removed you’ll beg to be brought back, mark my words.

          • For ages ZBrush had no dyntopo equivalent, it’s only gotten one recently and no one complained about not being about to do realistic sculpting in ZBrush because of it. I think dyntopo should stick around but I hardly feel like it makes realism impossible.

    • I don’t see anything to complain about here. Blender sculpting and performance has only improved. The shear amount of new capability is outstanding. As an artist who appreciates focusing on realism and detailed stylized works, blender has only leapt miles sense 2.79. I would hope to see improvements to polygon handling too, compared to zbrush, but the hard work that’s been already invested by Pablo is nothing to scoff at.

  2. And no info/plans on Multires Levels. So it maybe take years. Ore it’s gone forever. ?
    We don’t know.
    Blander was one of the programs that freed me from windows so I could use Linux instead.
    And now Blender force me have to go back to Windows and Z brush, and I hate Blender for that.

    They don’t want to talk about it, only happy thoughts.

    • Blander was one…….. should be: Blender was one……..
      Of course

    • What do you mean? Multires problems are the main issues in the TODO list, did you read the full post?

      • Just like in the Dyntopo roadmap page and the Blenderartist page. Most people don’t read the full list. They cherry pick what want to see and careless what else is there.

        Most of these TODO lists have been made fairly recently and people are being impatient.

    • you say it like it’s not one of the most important problems to solve for the developers, have you seen the streams or read the worboard? it’s high priority to solve these

  3. Great work so far, Pablo!
    The future of texturing and sculpting in blender looks bright!!
    Thank you so much for your hard work

    • Ditto that! 😀

      Can’t wait to use the next upcoming tools! Very exciting future

  4. Thank you for the excellent writeup Pablo 🙂 I think most of us understand the work that goes into re-architecting and implementing improved workflows. Looking forward to trying out the improvements.

  5. Amazing work as always, Pablo! Very exciting to read the to do list and see what lies ahead!

  6. Haven’t touched sculpting for a while, but this is superb! Have to dig back into it rather quickly, while it’s possible to catch up 🙂

  7. Many Thanks Pablo.
    can you add an option for brushes as physical correct sculpting.

  8. An amazing work. Thank you very much for working with these features. You are bringing Blender sculpting into new heights.

  9. Thanks for the great work.

    Can’t wait to see more. Please try to focus on performances too 🙂

  10. You’re doing wonderful work, Pablo B. It’s a dream come true, really. You’re not just bringing Blender’s Sculpt Tools up to speed–in some ways, you’re rising ahead of the 3D sculpting curve.

  11. I exercised new sculpt tools, used them in some sculpts. Sculpting feels much more responsive then pre 2.8x sculpting. Smoothing does a much better job on dense meshes. And the elastic brush got one of my favourite brushes.

    There is much rejection against the idea of deprecating dyntopo. Sadly, most critique is very general and does not point out problems. Imo, it is mainly detail preservation, live results and the idea that dyntopo might outperform voxel sculpting density if it is ‘fixed’.

    If its about high detail, Imo, there are already better solutions in Work. There is Multires and perhaps displacement texture based sculpting. I do not second idea to push dyntopo and pressure devs to commit to make brush conform to dyntopo.

    Current voxel remesh based workflow does not offer life results, like dyntopo does. I remember how “Manual Detail” dyntopo mode got rejected by people. Imo, this is not a reason to reject voxel sculpting. I am confident, that voxel sculpting would just as responsive as dyntopo, if time is ready.

    My main ‘hard’ problem with voxel sculpting is detail preservation with the current remesh solution. Homogenous voxels wont do, as we have to push voxel resolution. Details are wiped, clefts are filled.
    If we like to preserve these homogenous voxels wont do. We have to create a huge mount of excess geometry. It is hard to estimate how much I have to push voxel resolution to keep details safe from being wiped directly or after geometry transformation. I already freezed my machine (32G Memory) that way.
    Keeping details safe is an important part for voxel sculpting. Hard Surfaces live from sharp edges and small gaps between parts. Of course I am glad about astonishing new features, but behind I know they wont compensate for it. As a voxel remesh could easily ruin hours of work.

    Im curious how “adaptive voxel remeshing” or the “voxel object” type evolve. If this is fixed — sorry folks — I am perfectly fine with deprecation of dyntopo.

    I needed to write all this, because I like to keep honest, and speak about both sides. Sadly, problems require more words then things which do good job. This should not alienate what I liked to say.

    Thank you, Pablo Dobarro.

  12. Just use Zbrush and close the book people, Blender doesn’t have the same power or the flexibility, it’s just trying to do too many things and will always lack that final polish,so itdoesn’t matter if they remove dyntopo or improve it.
    You got be smart and pick the right tool for the right job depending on your skills, Blender for modeling, Zbrush for high rez sculpting, Substance Painter or Mari for texturing, Maya for rigging & animation and so forth, if you try to do them all in Blender you’ll have painful & long experience and trust me i tried it multiple times before i finally realized it.

  1. Leave a Reply

    Your email address will not be published. Required fields are marked *

     

share this story on