Hi everybody and I want to present next patch for sculpting on deformed meshes.

Now sculpting is not limited with armatured meshes only and any deformation modifiers are allowed.ย  Algorithms aren”t 100% mathematically correct (this would lead to real slowdown), so in some cases deformation could be a bit different than you expect it to be. But hope you”ll find it useful ๐Ÿ™‚

Implementation

Implementation is quite simple — if there”s any deformation modifier that doesn”t support deformMatricies method, use crazyspace correction like it was done for transformation module (this correction calculates rotation based on angle between tangent space angles calculated for base and deformed mesh).

All crazyspace stuff was moved from transform_conversions.c and DerivedMesh.c to crazyspace.c, so this corrections could also used in particles edit mode (which doesn”t work with deformed meshes, as I understood when was using it last time)

Limitations

There”s still limitation for constructive modifiers in general and for subdivision surface particularly. Still not sure it could be easily solved and still think better way is to introduce hotkey for switching between modes. This will keep sculpting behaviour expected. But maybe I”ve got some cool ideas and implement this ๐Ÿ™‚

One more limitation is symmetric sculpting. Current approach for symmetrical strokes wouldn”t work for deformed meshes — there should be another approach. The simplest approach is like x-mirror in edit mode, but it requires vertices from “other” side be in specific location (with some small delta) and otherwise x-mirror will do nothing. Don”t think it would be useful and current symmetric sculpting works fine even if mesh isn’t very symmetrical itself. There could be some kind of interpolation or so on, not sure yet but hope it’ll be solved ๐Ÿ™‚

-Sergey-