Page MenuHome

Fix T89691: Solidify modifier simple/complex inconsistency
ClosedPublic

Authored by Miguel G. (ghaspias) on Jul 6 2021, 6:47 PM.

Details

Summary

Maintain the sign when clamping non zero offset.


In relation to bug T89691, I tested a potential fix, which seems to work correctly in all scenarios.

(this is my first diff, I hope I did it correctly)

Diff Detail

Repository
rB Blender
Branch
TEMP-T89691-UPDATE (branched from master)
Build Status
Buildable 16181
Build 16181: arc lint + arc unit

Event Timeline

Miguel G. (ghaspias) requested review of this revision.Jul 6 2021, 6:47 PM
Miguel G. (ghaspias) created this revision.
Miguel G. (ghaspias) edited the summary of this revision. (Show Details)Jul 6 2021, 6:53 PM

Thanks for looking into that. I actually never entered a value outside the -1 to 1 range, but I understand why you would. I have tested this patch now thoroughly and didn't find anything going particulary wrong in all of the special cases that I know of. Of course things get weird though with intersecting geometry at Y crossings, but that is expected and stable.

The reason I was looking a little closer here, was because I forgot why I had that 1e-5f there. I think the value was not allowed to be zero so I can get some normals by normalizing the position somewhere, but it would take me a while to figure that out again.

This should land soon before the file moves to its new location in GEO.

This revision is now accepted and ready to land.Jul 6 2021, 11:18 PM

Hi, @Henrik Dick (weasel), is there something I need to do regarding this? I am using Blender to develop some tools in a research project, and it would be nice to have this fix in an official build (2.93.x or 3.0).

While the patch seems OK, there should be a comment explaining why the 1e-5f clamp is needed.

Add utility function to simplify logic.

Campbell Barton (campbellbarton) retitled this revision from Fix inconsistent behaviour in Solidify modifier simple vs. complex modes to Fix T89691: Solidify modifier simple/complex inconsistency.
Campbell Barton (campbellbarton) edited the summary of this revision. (Show Details)