GSOC 2024 Draft: Sculpt Feature Integration

Sculpt Feature Integration

Petar Dosev

Contact Info:

Synopsis:

There are a lot of forgotten sculpt features lying around on various branches, or as unmerged patches. I want to help integrate them into Blender, so they can be used by artists.

Benefits:

These tools had significant user interest when they were being worked on, and I assume people will still find them useful. Designing and implementing new features takes a while, so integrating existing code will allow a much bigger impact with less effort.

Deliverables:

  • Plane Trim Brush - a brush that flattens the mesh to a plane, sort of like the scrape brush but without “removing” material
  • Scene Project Brush - a brush that works like the shrinkwrap modifier, for any object in the scene. It allows a more controllable shrinkwrapping, for example for character clothing.
  • Fairing Brush - a very powerful smoothing brush, able to smooth down even large features such as ears, arms, and such major parts of a mesh.

Project Details:

  • Plane Trim Brush: https://projects.blender.org/blender/blender/pulls/111382
    This seems like a good place to start. It seems to me it mostly needs to be separated out from the scrape brush and cleaned up. It will also give me an idea on the merge process for a bigger feature like this.
  • Scene Project Brush: https://projects.blender.org/blender/blender/commit/eea756e513de0a577b24f0180267a4e8a7448a9f
    This brush seems slightly more complicated to merge, as the code is likely untested. Still, it seems like a reasonably contained feature, so it shouldn’t be too complex.
  • Fairing Brush: https://projects.blender.org/blender/blender/commit/72ff64590d18b5f9b2620802fc79bb82ca92fd7a
    This one would be the most difficult of the features I want to try merging. The code is scattered over many commits, and it’s fairly complicated. Still, it would be very useful to have this, and it would be a fun challenge!
  • Documentation on above brushes

Schedule:

I expect to be able to work around 25 hours per week, since I’m also a part-time C++ tutor at my college.

Dates Details
May 27 - June 14 (3 weeks) Separate, clean up and merge plane trim brush
June 17 - July 12 (4 weeks) Test, clean up and merge scene project brush
July 15 - August 16 (5 weeks) Test, clean up and merge fairing brush
August 16 - August 23 (1 week) Gap week for finishing up work

Bio:

I am a second year computer science student, currently at Broward College. I discovered Blender around 2017, and I’ve been sculpting characters ever since! This got me interested in computer graphics in general, and that’s how I ended up in this field. I only looked into contributing to Blender recently, and the code wasn’t nearly as scary as I expected. I ended up fixing an issue that has bothered me for a while: https://projects.blender.org/blender/blender/pulls/111665

29 Likes

I believe that “sculpt node brush” text at the top was a copy/paste mistake, right?

Anyway, nice project. :+1:
Good luck.

1 Like

Might as well ask, since you’ll be working with it, could you look into making mesh fairing into an edit mode operator? All the code for it is already there so I imagine implementing it shouldn’t be too much of a hassle (or that someone else sees this and implements it).
I should also mention this is already technically possible to use, but with too many unnecessary steps: Select in edit mode → Go to sculpt mode → New face set from edit mode selection → Face set edit tool → Select either fairing mode → click on the face set. An edit mode tool would make this into a 2-step process. This is a very useful feature that already exists in the program, but it’s so obscure and convoluted to use that effectively no one uses it or even knows it exists.

1 Like

Great idea! I think I also recall an array brush that duplicates mesh data being in the older branches that was forgotten among other things. Then again, it might not be necessary to implement now when Geometry Nodes could be used to recreate the same functionality.

2 Likes