Generative modifiers supporting vertexgroups [solidify, wireframe, ...] still act on vertices ouside the vertexgroup (zero weight just acts as a factor) #74452

Closed
opened 2020-03-05 05:10:56 +01:00 by Rombout Versluijs · 21 comments

System Information
Operating system: Darwin-15.6.0-x86_64-i386-64bit 64 Bits
Graphics card: Intel Iris Pro OpenGL Engine Intel Inc. 4.1 INTEL-10.14.74

Blender Version
Broken: version: 2.81 (sub 16), branch: master, commit date: 2019-11-20 14:27, hash: blender/blender@26bd5ebd42
Worked: (optional)

Short description of error
when a solidify is add and use you vertexgroups, it looks like none targeted faces still get solidify effect. It looks like its simply adjusting the thickness according to the vertexgroups. It still influences the none targeted mesh. The tiptool does state it indeed, prehaps im wrong. I thought the vertexgroups managed if it was added yes or no

Exact steps for others to reproduce the error
01 Open attached model
02 Go into edit mode and see the grip (thin part) has normals pointing 2 directions

Screen Shot 2020-03-05 at 00.05.25.png
2-solidify-issue.blend

**System Information** Operating system: Darwin-15.6.0-x86_64-i386-64bit 64 Bits Graphics card: Intel Iris Pro OpenGL Engine Intel Inc. 4.1 INTEL-10.14.74 **Blender Version** Broken: version: 2.81 (sub 16), branch: master, commit date: 2019-11-20 14:27, hash: `blender/blender@26bd5ebd42` Worked: (optional) **Short description of error** when a solidify is add and use you vertexgroups, it looks like none targeted faces still get solidify effect. It looks like its simply adjusting the thickness according to the vertexgroups. It still influences the none targeted mesh. The tiptool does state it indeed, prehaps im wrong. I thought the vertexgroups managed if it was added yes or no **Exact steps for others to reproduce the error** 01 Open attached model 02 Go into edit mode and see the grip (thin part) has normals pointing 2 directions ![Screen Shot 2020-03-05 at 00.05.25.png](https://archive.blender.org/developer/F8388977/Screen_Shot_2020-03-05_at_00.05.25.png) [2-solidify-issue.blend](https://archive.blender.org/developer/F8388980/2-solidify-issue.blend)

Added subscriber: @RomboutVersluijs

Added subscriber: @RomboutVersluijs

blender/blender#88118 was marked as duplicate of this issue

blender/blender#88118 was marked as duplicate of this issue

blender/blender#87074 was marked as duplicate of this issue

blender/blender#87074 was marked as duplicate of this issue

blender/blender-addons#74456 was marked as duplicate of this issue

blender/blender-addons#74456 was marked as duplicate of this issue

In addition to this, the manual does state only vertex groups get the applied effect. I also check 2.79 and it showed same behavior

https://docs.blender.org/manual/en/2.82/modeling/modifiers/generate/solidify.html#bpy-types-solidifymodifier

Vertex Group
Only vertices in this group are solidified. Their weights are multiplied by the thickness, so vertices with lower weights will be less thick.

It looks like vertices outside the group also get solidified but get a thickness of zero. This results in Z-fighting or double vertices

Edit
But a bit down when we check the factor, it already states 0 creates double vertices. BUt that kind of contradicts what is said earlier about using vertexgroups.

Invert
Reverses the vertex group, so that only vertices which are not in the vertex group are solidified.

Factor
How much the vertex weights are taken into account.
On 0.0 , vertices with zero weight will have no thickness at all (creates duplicate vertices).
On 0.5 , vertices with zero weight will be half as thick as those with full weight.
On 1.0 , the weights are ignored and the Thickness value is used for every vertex.

In addition to this, the manual does state only vertex groups get the applied effect. I also check 2.79 and it showed same behavior https://docs.blender.org/manual/en/2.82/modeling/modifiers/generate/solidify.html#bpy-types-solidifymodifier > **Vertex Group** > Only vertices in this group are solidified. Their weights are multiplied by the thickness, so vertices with lower weights will be less thick. It looks like vertices outside the group also get solidified but get a thickness of zero. This results in Z-fighting or double vertices Edit But a bit down when we check the factor, it already states 0 creates double vertices. BUt that kind of contradicts what is said earlier about using vertexgroups. > **Invert** > Reverses the vertex group, so that only vertices which are not in the vertex group are solidified. > > **Factor** > How much the vertex weights are taken into account. > On 0.0 , vertices with zero weight will have no thickness at all (creates duplicate vertices). > On 0.5 , vertices with zero weight will be half as thick as those with full weight. > On 1.0 , the weights are ignored and the Thickness value is used for every vertex.
Member

Added subscribers: @Gilberto.R, @lichtwerk

Added subscribers: @Gilberto.R, @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Added subscribers: @howardt, @mont29, @ideasman42

Added subscribers: @howardt, @mont29, @ideasman42
Member

Afaict, this is true for all generative modifiers supporting vertex groups.
Participating vertices are not filtered by their vertexgroup prior to applying/executing the modifier.

Dont really think this is a bug, it is more of a design question (it sure would be nice to support this though -- might be quite some work to get this straight for those modifiers).
Would kindly ask for advice here on how to classify this report (will tag as a design question for the time being)

CC @ideasman42
CC @mont29
CC @howardt

Afaict, this is true for all generative modifiers supporting vertex groups. Participating vertices are not filtered by their vertexgroup prior to applying/executing the modifier. Dont really think this is a bug, it is more of a design question (it sure would be nice to support this though -- might be quite some work to get this straight for those modifiers). Would kindly ask for advice here on how to classify this report (will tag as a design question for the time being) CC @ideasman42 CC @mont29 CC @howardt
Philipp Oeser changed title from solidify adds faces to non-targeted meshes to Generative modifiers supporting vertexgroups [solidify, wireframe, ...] still act on vertices ouside the vertexgroup (zero weight just acts as a factor) 2020-03-05 09:56:35 +01:00

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'
Bastien Montagne self-assigned this 2020-03-05 10:08:03 +01:00

This is indeed working as expected, no bug here. Thanks for the suggestion, fully ignoring zero-weighted geometry would be a nice new feature, but we do not keep track of feature requests on this tracker.

This is indeed working as expected, no bug here. Thanks for the suggestion, fully ignoring zero-weighted geometry would be a nice new feature, but we do not keep track of feature requests on this tracker.

So i need to go to rightclickselect i guess, right

Never actually knew is actually generates faulty meshes. Intersecting vertices is never good.

PS shouldnt the manual be more clear, now it contracts itself when you check factor vs vertexgroup part

So i need to go to rightclickselect i guess, right Never actually knew is actually generates faulty meshes. Intersecting vertices is never good. PS shouldnt the manual be more clear, now it contracts itself when you check factor vs vertexgroup part

The current behavior is counterintuitive and limits non-destructive workflow. Users would'nt ever expect that behavior, so I think it should be a known issue, even if it's a design choice. At least the manual should be updated to make this behavior more clear to the user. I hope this can be worked on in the future.

The current behavior is counterintuitive and limits non-destructive workflow. Users would'nt ever expect that behavior, so I think it should be a known issue, even if it's a design choice. At least the manual should be updated to make this behavior more clear to the user. I hope this can be worked on in the future.
Member

Added subscriber: @KonstantinsVisnevskis

Added subscriber: @KonstantinsVisnevskis
Member

Added subscriber: @Blendify

Added subscriber: @Blendify
Member

Since this has come up again, I will point out that documentation (only checked Solidify) is borderline misleading here:

https://docs.blender.org/manual/en/dev/modeling/modifiers/generate/solidify.html

Vertex Group

Only vertices in this group are solidified. Their weights are multiplied by the thickness, so vertices with lower weights will be less thick.

Invert

    Reverses the vertex group, so that only vertices which are not in the vertex group are solidified.

This is actually wrong I think, modifier acts on all vertices, it is just the thickness that is affected.
Raising awareness to @Blendify here.

Since this has come up again, I will point out that documentation (only checked `Solidify`) is borderline misleading here: https://docs.blender.org/manual/en/dev/modeling/modifiers/generate/solidify.html > Vertex Group > > Only vertices in this group are solidified. Their weights are multiplied by the thickness, so vertices with lower weights will be less thick. > > Invert > > Reverses the vertex group, so that only vertices which are not in the vertex group are solidified. This is actually wrong I think, modifier acts on **all** vertices, it is just the thickness that is affected. Raising awareness to @Blendify here.
Member

Added subscriber: @jordanp.lawson

Added subscriber: @jordanp.lawson
Member

Changed status from 'Archived' to: 'Confirmed'

Changed status from 'Archived' to: 'Confirmed'

Indeed, that was something I was trying to explain as well. The manual kinda contradicts itself in the explanation. I guess a more clear description would be nice and perhaps a tip of using a weld modifier to solve possible issue when double vertes or the zero can be fixed that way

Indeed, that was something I was trying to explain as well. The manual kinda contradicts itself in the explanation. I guess a more clear description would be nice and perhaps a tip of using a weld modifier to solve possible issue when double vertes or the zero can be fixed that way
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Member

Fixed in rBM8326 and rBM8335

Fixed in rBM8326 and rBM8335
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#74452
No description provided.