color
Selection and grooming only ever happens on hair keys (vertices), so
makes sense to use that theme color.
Sidenote: `CacheEditrPathsIterData` and `PTCacheEdit` have `sel_col` and
`nosel_col`, these can go, will do in a separate commit.
Maniphest Tasks: T68788
Differential Revision: https://developer.blender.org/D6725
Compared to 2.79, this also has the benefit of actually showing the curve
again if you set both bevel start and end to 0.0 for example.
Maniphest Tasks: T59271
Differential Revision: https://developer.blender.org/D6168
Adds the invert vgroup mask option to the Vertex Weight modifiers.
These 3 modifiers share the same functions so they needed to be modified at the same time. They are all setup the same with the invert vgroup option being added. I had to add a flag to the Mix modifier but the others I use the existing flags.
Differential Revision: https://developer.blender.org/D6819
Provide different options for locking and unlocking vertex groups
using bone selection, accessible via a pie menu triggered via the
'K' hotkey. To implement a variety of operations, extend the old
operator with a new option to mask it by bone selection. If the
X Mirror option is enabled, selection is automatically mirrored.
This follows D6533 as the next step in improving accessibility of
vertex group locking during weight painting.
Differential Revision: https://developer.blender.org/D6618
There is a bug where the UVWarp modifier will stop working if an armature bone is set as the Bone To target and then later changed to a non armature object without clearing the Bone To string property. The modifier will still think it is needing a bone matrix and not properly use the object matrix.
A simple fix by adding a check for the object being an armature as well as the bonename string being set.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D6809
This enables an extra layer of control in the sculpt brushes.
For now it is enabled only in Scrape, but it should work in all brushes (like normal radius). In the future it may also be enabled in other brushes.
You can tweak in this property in the scrape brush to achieve a much better behavior when working on curve surfaces and control how much volume you want to trim. In most cases, it also fixes the bug where the brush keeps trimming in the same area without disabling accumulate.
It should be possible to fix some other artifacts in other brushes by tweaking this default property.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D5993
This patch allow to change the brush tip shape between a square and a
circle using a brush property.
After this change we are no longer testing the distance against a cube
(the Z axis is not used). I did not test this in depth, but if it does
not produce any artifacts I think we can keep it this way instead of
adding more complexity to the code.
In this new distance test the brush falloff is only applied on the
rounded parts of the square to avoid sharp artifacts in the
diagonals. Because of this, the round version is much softer than
the square one. The planned hardness property will fix this, but
this can also be avoided by setting the fallof to a custom curve.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6165
The IK chain was using an anchor point by default as it makes sense for
posing, but for creating curved shapes it is useful to be able to
disable it.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6584
This brush simulates deforming clay with your fingers, accumulating
material during the stroke. It has a plane that tilts during the stroke
in the front part of the brush to achieve this effect.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6238
The code was using brush->alpha directly, so the alpha value from
UnifiedPaintSettings was not used when eneabled.
Reviewed By: brecht
Maniphest Tasks: T73656
Differential Revision: https://developer.blender.org/D6804
* Missing close dialog displayed to warn about unsaved changes.
* No reaction when the file was opened on a different desktop.
Differential Revision: https://developer.blender.org/D6765
ss->multires is set in sculpt_update_object, which is not called just
after disabling dyntopo, so it needs to be checked before running
reshapeFromCCG
Reviewed By: campbellbarton, brecht
Maniphest Tasks: T73706
Differential Revision: https://developer.blender.org/D6801
The channel color squares are no longer positioned under the visibility
icon, since contrast is poor. Instead they are thinner and drawn on the
left side, before the visibility icon. If the curve is hidden, the color
gets less opaque.
Differential Revision: https://developer.blender.org/D5882
This is an oversight of a fix for T69834, where I didn't realize the
ED_object_editmode_exit_ex() function is called for all objects as an
opposite of only the ones which were in edit mode.
Seems a simple fix: just move tag into a check that object was in the
edit mode prior to tag.
Differential Revision: https://developer.blender.org/D6808
While the file in this report had corrupted values,
this is avoidable without adding any extra overhead.
Use unsigned vertex group indices since we don't need negative values,
this is an alternative to checking they aren't negative in many places.
Vertex group values over INT_MAX is still considered invalid,
so any accidental unsigned wrapping won't be silently ignored.