patch: sculpt brush curve modifier


I coded a curve modifier for sculpt-brushes (to modify the falloff).

Now I need your feedback for the UI. See the screenshots in
the patch tracker, I put the curve in the sculpt-properties (nkey) and
in the editbuttons-brush.

Do you think that the different brushes (draw, smooth, inflate, flatten…) need
different curves? And if so how to assign them? Best would be to link them
so the curves can be reused. Maybe we need something like the texturepaint brushes,
so multiple brushes can be defined. But something more simple would be nicer.

Also I need advise on the default-curve. It is a little bit different than the official “fade”.
So sculpt-pros, tell me how it works. And if you find another curve that is more
suitable for default, give me the blend file so I can integrate it.

Patch and Screenshots:

i’m not a sculptor, but if i would use the sculp-tool, i would be very happy and impressed by this feature!!!

seems to be a great idea and you are on a good way.


Ah, what a coincidence! I was working on the same thing too, but unfinished. ( / I still have to write the code that loads and saves the CurveMapping to the .blend file.

So yes, I at least think it’s a very important addition :slight_smile: There are a few differences in mine to yours, I store a curve per brush, and also have some other presets for mathematically defined curves, as in proportional edit mode (though admittedly, here probably doesn’t need to be so many, ome are quite similar and the hard-edged ones aren’t that great). I have a feeling those might be faster to calculate than the CurveMapping, but I haven’t benchmarked it, so it may not be an issue. Perhaps we can combine efforts, I’ll check out your patch and post on the tracker!

very useful feature
thank’s for both of you Papulizer And broken :slight_smile:

Btw, if blender crashes with high poly counts, is it a sign that I need more ram (I have 1.5gb and Geforce 6600GT)?

Papulizer, thanks for the work.
I tried your patch, blender compiles fine, but if i click the brush tab it instantly crashes.

svn version running in linux 64 bits.

i also tried broken’s version and it crashes when i hit f hotkey to change my brush size.

sorry for my bad english


wow looks awesome… being able to assign/save default curves would be great… like you can select a painting style… like airbrush and apply the curve to it…? Can you control the tangent handels ie. change the interpolation in the curves… eg… have sharp/stepped lines or control the tangent handle on either side of the point etc etc… basically the same functionality like in the graph IPO curve editor… looks like a really good functionality so far!!

@broken: yes, we should combine efforts, but when it comes to UI you have more experience and the better ideas. For me it is only a little project to become more familiar with blender but I am willing to spend more time on it. So how can I help you? I will look at your code in a few days (I’m not at home at the moment).

I get the feeling that brushes in blender (sculpt, draw, maybe prop-edit) should be unified so that all brushes can be library-linked, stored and reused.

You guys are awesome!!! Thanks so much. :evilgrin:


wow, thanks for this feature!
Both ideas are great; I don’t understand (my bad english) if it’ s possible to save a set of curves and select them from a drop-down menù…
I like the Papulizer GUI, because it’s integrated in the panel we already have, but P.E.T.-style curves are really nice, broken!
bye and thanks again guys…
(sorry for my english)

Thanks for the work guys,really appreciated.:stuck_out_tongue:
I have a feature request,I really don’t how difficoult could be,but some of you maybe can do this.
I’m using Zbrush 3 since ten days right now and I really like its lazy mouse stroke.For those who don’t know what is ,it’s a special stroke that can sample better the movement of the user input,the result are clean strokes,without jitter.For explaining better it’s the same difference between phothoshop and painter,painter has superior stroke,because the user stroke is reconstucted without the jittering.Someone has plan to do this?
It could be very useful

Now that feature would be interesting.

Curve brushes, that would be nice to have,.

Lazy mouse would be good too, how hard would it be to implement that.


interesting idea. conceptually it would be record the stroke and then do a noise filter on it. How fast does it do the result of a stroke? (Ie is the result when the stroke stops, or is it done continuously or what?)


LetterRip,the stroke is in realtime,it’s a bit slower than normal stroke but in realtime,if you have tried photoshop and painter you’ll understand easily,painter is a bit slower than photoshop on stroking but has very clean results,compared to jittered results in photoshop.


I think Nick committed a feature similar to your lazybrush a while back,

broken and Papulizer, just curious if you have made any further progress.


yes lazy brush exists, ive used it myself, but has not been yet released in any official release… :stuck_out_tongue:

as for the curves, i like the way broken implemented it(in a panel/tab-thingy of its own) better, but i would like to have it just like the general sculpt options in the 3d window so that i can/could work with ease in the full-screen mode :slight_smile:

Yes LetterRip,i have tried using that feature.
It works,but I think we need a parameter to control how long the path get sampled.As it’s now for me it’s too long,we need an option to control it,as in Zbrush.
I’m happy to know that Nick is still working on sculpting,i think I’ll do some new sculpts.

I get the feeling that brushes in blender (sculpt, draw, maybe prop-edit) should be unified so that all brushes can be library-linked, stored and reused.

Amen to that observation, Papulizer!!
And big thanks to you and Broken for the effort to make this work - so much improvement in such a short time - seems like just yesterday we got the sculpt mode from Nicholas… :slight_smile: :slight_smile: