mask visibility in sculpt mode using shape keys or generative modifiers #67303

Open
opened 2019-07-20 10:52:15 +02:00 by Daniele Viagi · 28 comments

System Information
Operating system: Windows 10
Graphics card: nvidia 1060 Ti

Blender Version
2.8 RC2

Short description of error
If you have a mesh with a mask and create a shape key, the mask will be no longer visible, still active but not visible.

Exact steps for others to reproduce the error

  • Add UV Sphere
  • Sculpt mode
  • Paint a mask
  • Create shape keys

Or from the default startup:

  • in sculptmode, Mask > Invert Mask (default cube should turn dark)
  • strokes dont have an effect now (this is expected)
  • add any generative modifier to the default cube (e.g. triangulate)
  • back in objectmode, save the file
  • reload the file
  • enter sculptmode
  • no mask is visible
  • strokes dont have an effect now (this is confusing since you are not aware masks prevent an effect since you dont even see the masks)

(note we have the option Use Deform Only in sculptmode which might be exactly for that purpose, still not being able to use masks with generative modifiers should be more clear)

**System Information** Operating system: Windows 10 Graphics card: nvidia 1060 Ti **Blender Version** 2.8 RC2 **Short description of error** If you have a mesh with a mask and create a shape key, the mask will be no longer visible, still active but not visible. **Exact steps for others to reproduce the error** - Add UV Sphere - Sculpt mode - Paint a mask - Create shape keys Or from the default startup: - in sculptmode, `Mask` > `Invert Mask` (default cube should turn dark) - strokes dont have an effect now (this is expected) - add **any** generative modifier to the default cube (e.g. triangulate) - back in objectmode, save the file - reload the file - enter sculptmode - no mask is visible - strokes dont have an effect now (this is confusing since you are not aware masks prevent an effect since you dont even see the masks) (note we have the option `Use Deform Only` in sculptmode which might be exactly for that purpose, still not being able to use masks with generative modifiers should be more clear)
Author

Added subscriber: @DanieleViagi

Added subscriber: @DanieleViagi

#68287 was marked as duplicate of this issue

#68287 was marked as duplicate of this issue

Added subscriber: @zeauro

Added subscriber: @zeauro

I confirm. That is probably an issue that would have same solution as #67305.

I confirm. That is probably an issue that would have same solution as #67305.
Author

It's probably the same problem /solution https://developer.blender.org/T65850

It's probably the same problem /solution https://developer.blender.org/T65850

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Investigating...

Investigating...
Jeroen Bakker was assigned by Germano Cavalcante 2019-07-22 16:36:26 +02:00

Added subscriber: @Jeroen-Bakker

Added subscriber: @Jeroen-Bakker

The sculpt masks drawing became more restricted after the commit d0fb602e2c.
@Jeroen-Bakker, can we take away the restriction in this case?

The sculpt masks drawing became more restricted after the commit d0fb602e2c. @Jeroen-Bakker, can we take away the restriction in this case?

Added subscriber: @ogier

Added subscriber: @ogier

Added subscriber: @stoofnie

Added subscriber: @stoofnie

Removed subscriber: @stoofnie

Removed subscriber: @stoofnie

Added subscriber: @stoofnie

Added subscriber: @stoofnie

Added subscriber: @maxximoramirez

Added subscriber: @maxximoramirez

status of this issue?, until this day v2.81 Alpha Hash: ee47075449 still have this issue present.

status of this issue?, until this day v2.81 Alpha Hash: ee4707544904 still have this issue present.
Member

@maxximoramirez I have dozens of issues on my desk with all the same priority. I haven't looked at this issue at all.

It will help if someone can create a good report for this, including a simple example file.

Thanks!

@maxximoramirez I have dozens of issues on my desk with all the same priority. I haven't looked at this issue at all. It will help if someone can create a good report for this, including a simple example file. Thanks!

masks_issue_example.blend

@Jeroen-Bakker

I covered the 4 basic issues with visible masking, of course keep adding modifiers will keep the issue (such as bools or corrective smoothness)

Basically having a model with either a ShapeKey (Basis included) or a modifier that affects his shape (such as Armature or basic Smooth) will hide the mask until its removed.

[masks_issue_example.blend](https://archive.blender.org/developer/F7791081/masks_issue_example.blend) @Jeroen-Bakker I covered the 4 basic issues with visible masking, of course keep adding modifiers will keep the issue (such as bools or corrective smoothness) Basically having a model with either a ShapeKey (Basis included) or a modifier that affects his shape (such as Armature or basic Smooth) will hide the mask until its removed.
Member

Added subscriber: @JulienKaspar

Added subscriber: @JulienKaspar
Member

Since #70564 got implemented it works much better. But there's still some inconsistency. Here's a list of modifier-shapekey cases where the mask disappears or behaves differently.

Let's start with the masking and hiding geometry in sculpt mode:

  • Bevel/Triangulate =

The mask is strangely intersecting with the newly created geometry.
Hidden faces reappear but edges are still visible.

  • Remesh =

The mask is strangely intersecting with the newly created geometry.
Hidden geometry reappears.

  • Decimate =

The mask is strangely intersecting with the newly created geometry.
Hidden geometry stays hidden.

  • Multires =

The Mask stays.
Hidden geometry appears on higher subdiv levels.

  • Screw/Subdiv/Wireframe =

The mask disappears.
Hidden faces stay hidden but edges become visible again.

  • Skin =

The mask disappears.
Hidden geometry reappears.

When adding shapekeys there are these cases:

  • Multiresolution =

The mask disappears on the base resolution.

In all the other modifiers it seems that the shapekey is taken into account and the behaviour is as intended or like mentioned above.

Also some strange cases when "Use Deform Only" is enabled in the Sculpt Mode options:

  • Subdivision Surface =

The Mask disappears.

  • Cast/Curve/Simple Deform/Shrinkwrap/Smooth/Wave =

Still being applied in Sculpt Mode.


IMO modifiers that drastically alter the mesh like remesh and decimate should probably still hide the mask. Other modfiers that just move the geometry like Simple Deform, Mirror & Shrinkwrap are still very useful when using the mask in Sculpt Mode.
Hiding geometry can be useful in most of them.
The mask disappearing with the subdiv and multires modfiers is not ideal. At least for Subdiv it's ok though when not using "Use Deform Only".

I did not test the performance on any of these cases but when using modifiers for Sculpt Mode, users should expect a slower viewport anyway. That's what the "Use Deform Only" option is for after all. To speed up the performance by disabling all the modifiers.

Since #70564 got implemented it works much better. But there's still some inconsistency. Here's a list of modifier-shapekey cases where the mask disappears or behaves differently. **Let's start with the masking and hiding geometry in sculpt mode:** - Bevel/Triangulate = The mask is strangely intersecting with the newly created geometry. Hidden faces reappear but edges are still visible. - Remesh = The mask is strangely intersecting with the newly created geometry. Hidden geometry reappears. - Decimate = The mask is strangely intersecting with the newly created geometry. Hidden geometry stays hidden. - Multires = The Mask stays. Hidden geometry appears on higher subdiv levels. - Screw/Subdiv/Wireframe = The mask disappears. Hidden faces stay hidden but edges become visible again. - Skin = The mask disappears. Hidden geometry reappears. **When adding shapekeys there are these cases:** - Multiresolution = The mask disappears on the base resolution. In all the other modifiers it seems that the shapekey is taken into account and the behaviour is as intended or like mentioned above. **Also some strange cases when "Use Deform Only" is enabled in the Sculpt Mode options:** - Subdivision Surface = The Mask disappears. - Cast/Curve/Simple Deform/Shrinkwrap/Smooth/Wave = Still being applied in Sculpt Mode. --- IMO modifiers that drastically alter the mesh like remesh and decimate should probably still hide the mask. Other modfiers that just move the geometry like Simple Deform, Mirror & Shrinkwrap are still very useful when using the mask in Sculpt Mode. Hiding geometry can be useful in most of them. The mask disappearing with the subdiv and multires modfiers is not ideal. At least for Subdiv it's ok though when not using "Use Deform Only". I did not test the performance on any of these cases but when using modifiers for Sculpt Mode, users should expect a slower viewport anyway. That's what the "Use Deform Only" option is for after all. To speed up the performance by disabling all the modifiers.

image.png
Using my example file it shows that with armatures it creates artifacts when sculpting over a mask, they looks like that its a mask-less duplicated of the model or a delayed version, progressing and using Undo seems to clean it and removing all the artifacts.
BUT when having shapekeys the error is less probable to appear (cant explain why atm)
To my knowledge:

SCULPT=clean
ARMT+SCULPT = artifacts
SK+SCULPT = clean
ARMT+SK+SCULPT = clean (sometimes artifacts)

Also the artifacts seems to be stronger when smooth shading its enable, using flat smooth reduce the artifacts to a minimum and when moving the camera with the mouse or doing another action seems to remove them at once.
Gonna build a better model example to check this but it falls mostly on viewport error and shouldn't affect using masks for the final result.

![image.png](https://archive.blender.org/developer/F7798778/image.png) Using my example file it shows that with armatures it creates artifacts when sculpting over a mask, they looks like that its a mask-less duplicated of the model or a delayed version, progressing and using Undo seems to clean it and removing all the artifacts. BUT when having shapekeys the error is less probable to appear (cant explain why atm) To my knowledge: SCULPT=clean ARMT+SCULPT = artifacts SK+SCULPT = clean ARMT+SK+SCULPT = clean (sometimes artifacts) Also the artifacts seems to be stronger when smooth shading its enable, using flat smooth reduce the artifacts to a minimum and when moving the camera with the mouse or doing another action seems to remove them at once. Gonna build a better model example to check this but it falls mostly on viewport error and shouldn't affect using masks for the final result.
Member

Added subscribers: @brecht, @lichtwerk

Added subscribers: @brecht, @lichtwerk
Member

Will CC @brecht here (since he took care of #70564...)

Will CC @brecht here (since he took care of #70564...)
Jeroen Bakker removed their assignment 2019-12-18 14:02:27 +01:00
Pablo Dobarro was assigned by Jeroen Bakker 2019-12-18 14:02:27 +01:00
Pablo Dobarro was unassigned by Dalai Felinto 2019-12-23 16:33:40 +01:00

Added subscriber: @PabloDobarro

Added subscriber: @PabloDobarro
Member

Sculptmasks are optimized for sculpt drawing. When using specific modifiers the optimized sculpt drawing cannot be used anymore and the mask will not be able to render.

This issue also raises functional questions. When drawing a mask on top of a subsurface modifier would not draw the mask in the way how functionality would behave. Hence I set this to a known issue.

Sculptmasks are optimized for sculpt drawing. When using specific modifiers the optimized sculpt drawing cannot be used anymore and the mask will not be able to render. This issue also raises functional questions. When drawing a mask on top of a subsurface modifier would not draw the mask in the way how functionality would behave. Hence I set this to a known issue.

Added subscriber: @pauanyu_blender

Added subscriber: @pauanyu_blender
Philipp Oeser removed the
Interest
Sculpt, Paint & Texture
label 2023-02-10 09:12:49 +01:00
Philipp Oeser changed title from mask visibility in sculpt mode using shape keys to mask visibility in sculpt mode using shape keys or generative modifiers 2023-04-14 15:36:37 +02:00
Philipp Oeser added the
Interest
Modifiers
label 2023-04-14 15:37:49 +02:00

I'm back!

I'm back!

So, the boolean issue has to do with the mask issue.

So, the boolean issue has to do with the mask issue.

Do we really need the masks to be visible? I just wanted the boolean modifier and the sculpt mode to function. Idk, but, can they function without the mask being visible?

Do we really need the masks to be visible? I just wanted the boolean modifier and the sculpt mode to function. Idk, but, can they function without the mask being visible?
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
12 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#67303
No description provided.