Blender comes with a bunch of sculpting tools:

enter image description here

I am wanting to create a custom sculpting tool but I am not sure where to begin. How would I go about creating a custom sculpting tool with several extra properties in the properties area:

enter image description here

As an aside, when looking at the contents of a .blend file I noticed that all of the sculpting tools are inside there; so I basically want to add a new custom one into there somehow...

enter image description here

What I am looking to create

The tool that I want to create would basically have three properties "Source Mesh Min", "Source Mesh Max" and "Direction". Both of the source meshes would have the exact same topology as the actual mesh that is being sculpted.

The sculpting tool would then essentially lerp the current mesh towards one of the two source meshes depending upon the selected direction.

  • 1
    $\begingroup$ I guess that if (as imho) blender tools like sculpting are not extensible with addons, you'll need - apart adding a new panel or new options - to patch the blender source code and make the new options to actually work and behave well with all the rest of blender code and related addons. Not an easy task. Then, if that works, you could either patch any new blender version source and recompile, or submit the patch for inclusion in the main official source code. $\endgroup$ – m.ardito Jan 23 '18 at 8:09

Sculting is a very calculation intensive task. For speed reasons it has been developed in the core of blender using the C language. Implementing the tools you describe in sculpting is possible, but not using the python API. Gladly Blender is OpenSource so you will be able to get the sourcecode and change it to your likings.

Python Alternative:

As in your description the topology must be the same it sounds like sculpting is more the UI/workflow and not the tool (using sculpting the topology does not have to be the same (Dynamic topology). Implementing such a feature inside the 3d editor using python seems to be an good alternative.

You could even store the values in a Weightmap and use this data to calculate the new mesh. Getter the interactivity will be the challenge.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.