When using generative modifiers too many center dots were rendered in
the normal overlay. This patch only renders the normals of original
center dots.
Known issue: decoding the `norAndFlag` has issues on Intel GPU.
The loop normals were always drawn. We used to only draw the normals if
it was mapped to an original loop of the mesh. Due to recent changes we
can not find the correct loop and decide if we need to draw them.
Note still need to check the face dots normals. This is more complicated
as facedot normals needs to be encoded in a different way
This was caused by the removal of some `BONE_TRANSFORM_MIRROR` flag
handling in rBde530a95dc7b482dc22c933b9b8b2a98c79b5663. I simply
restored those lines that caused this issue.
This makes the code a bit simpler to follow, by replacing
`if (x) { all the code here }` with `if (!x) { continue; }` and un-indenting
the remaining code, and by returning early.
No functional changes.
The paint mask overlay showed the wires and edges of the final mesh.
This change will only draw wires and edges that are mapped to the
original mesh.
This change enables mapping data in regular Mesh extraction. This
can also be used for better drawing of the normal overlay.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7277
Selecting linked would only select a single arbitrary chain.
Now select linked follows all child-chains of the bone.
Also add support for following all links, similar to how this would work
if it were a mesh with connected edges instead of only child chains.
Leave this off by default to match pose mode.
This was crashing, when looking into a fix I noticed that it gave
hap-hazard results dissolving past forks in the parent/child hierarchy
arbitrarily following one chain.
This functionality is almost identical to "dissolve" which delimits
forks in the chain predictably.
So remove this in favor of dissolve (available from the delete menu).
Edges were hard to see in some cases in edit-mesh vertex/face modes.
Since 804e90b42d alpha is handled differently,
update edge alpha to visually match 2.82.
Required for collisions with moving rigid bodies. Otherwise the static optimization mode will be kept and the obstacles would be calculated only once at the beginning.
The Screw Modifier had a lower limit for the steps value, which not only
was inconsistent between render and viewport steps, but also was capped
to 2 in UI and also in the code internally.
This commit introduces a new mode for calculating the positions and
weights of the IK segments in the Pose Brush based on the Face Sets.
The first segment of the chain will always include all face sets inside
the brush radius and it will propagate until the boundary of the last
face sets added in the flood fill. Then consecutive connected face sets
are added to the chain until the chain length limit is reached or all
face sets of the mesh are already part of the chain.
This feature enables complete control over the pose brush origins in
case that is needed. Also, with this mode, the user can have a library
of base meshes with face sets already configured to get to the initial
pose as fast as possible.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7235
This makes more clear what this automasking operation does and helps to differenciate it from the future face sets boundary automasking.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D7185
Previously, all vertices inside the brush radius were taken into account
equally when calculating the sculpt normal and area. This was causing
artifacts and unpredictable results with large brushes or meshes with
curvatures, as the strongest deformation point of all brushes is usually
in the center. By weighting the vertex normal and position towards the
center when sampling, all brushes should now behave in a more
predictable way in non-uniform surfaces.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6989
Last time I checked Face Sets were preserved in a more or less
predictable way when modifying the mesh with dyntopo. As it looks that
in some problems this may cause bugs and you can't see or use face sets
when modifying the topology of the mesh whith dyntopo active, it is
probably better to reset them when going from dyntopo to mesh. This way
you know that you are always going to get a predictable face sets state.
Reviewed By: jbakker
Maniphest Tasks: T74637
Differential Revision: https://developer.blender.org/D7099
This is not dependent on having an armature as mentioned in T75111.
The collider simply has to be animated.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D7251
This commit aims to add functionality to the surface deform modifier that
gives more control and allows it to work better with the modifier stack.
* Maintains compatibility with older files. The default settings keep it
so that the whole object is bound and vertex coordinates get overwritten
as the modifier currently does.
* Turns the deformations from an absolute vertex coordinate overwrite into
an additive offset from the vertex location before the modifier to the
resulting bound deformation. This gives the ability to control the
strength of the deformation and mix the deformation of the modifier
with the modifier stack that comes before it.
* Also adds in a vertex group with the invert option. This is applied after
the bind deformation is added. So the whole object is still bound to target,
and the vertex group filters afterwards what parts get affected.
I experimented with a version to only binds the geometry weighted to the
vertex group, but that would break compatibility with old files.
I may bring it in later as a separate option/mode for the surface deform.
With several fixes from @mont29.
Reviewed By: mont29
Differencial Revision: https://developer.blender.org/D6894
Might have happened when Apply Base is used in sculpt mode.
In practice this probably was fine, since the operator tags object
for update, so the pointers will be restored back to what they should
be.
This commit gives the solidify modifier the ability to assign the newly created shell
and rim geometries to selected vertex groups. This expands the procedural control over
the modifier stack by letting users apply modifiers to the shell geometry without affecting
the original geometry.
This will be especially helpful for NPR users that use solidify to create backface
culling lines on their characters giving them the ability to add displace noise
and other effects.
Differential Revision: https://developer.blender.org/D6903