Weight Paint Overlay #73434
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
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
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
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
EEVEE & Viewport
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
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
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
9 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#73434
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Most of the issues originally described in this task have been resolved!
The only remaining problem is that the Weight Paint object is affected by shading options: lighting, material, textures, etc. It should always act as if the shading mode was set to Flat with a completely white color.
The colors of the weight paint overlay are meant to represent the value of those weights. If those colors are affected by anything else, the original information they were trying to convey is corrupted or lost. See #61486#702654 for illustration.
Hopefully this will be fixed as part of the Attribute Edit project.
Added subscribers: @Jeroen-Bakker, @dfelinto, @dr.sybren, @Mets
Added subscriber: @PabloDobarro
This is related to Attribute Edit. So will add @PabloDobarro to the discussion. When we have attribute edit overlay this would most likely be solved.
Changed status from 'Needs Triage' to: 'Confirmed'
Added subscriber: @ayman2142
Added subscriber: @JulianEisel
@PabloDobarro Can you comment here on whether these issues really need to wait until Attribute Edit project progresses? To me it feels like that could be years - that's years of 7 extra actions to enter and leave weight paint mode. (On top of the already standard 3-5 actions.) This is a pretty severe regression in usability from 2.7. (And it is only the tip of the iceberg)
Also throwing @JulianEisel in here because he mentioned to me that at one point he fixed the weight paint overlay, and then it got unfixed, or something along those lines? Let's get it un-unfixed! :)
@Mets last week I fixed several issues for vertex weight overlay including some issues addressed with this ticket. We should update this design and see what is still needed.
@Jeroen-Bakker I noticed just yesterday that weights are now displayed nicely while in x-ray and wireframe view!! I was going to ask if that was you, but I guess I got my answer :D Many thanks!
I found somewhat of a corner case where weights are still not visible: When the object's display mode is set to Wire, and the viewport is NOT in X-Ray or Wireframe mode: F8452746
I also ran into some funky artifacts once, and although I was not able to reproduce a second time, I did get it on video: F8452731
Update: I'm no longer getting the above issues! (Hence disabled video embeds to reduce noise)
This was just mentioned in the #animation_rigging module meeting as well, as a big issue also with newer Blender users.
Would it be possible to just let Weight Paint use the same drawing mode as Texture Paint, so that the weight painting colours are shown correctly?
Increased priority to check on impact next week.
Added subscriber: @ideasman42
Wont users want to see shading while weight painting in some cases?
Removing shading entirely can make it hard to see the shape of a deformation while painting.
With this patch, a solid-mode mesh has no shading at all.
Reducing opacity seems is also not very useful.
Why not make this an option as it's a significant change, with both behaviors having their uses.
The same option could make sense for texture paint as well.
I added a studio light preset in D8209 to fix a similar issue with texture/vertex paint. In those cases, it is also important to see the model volume a little bit while rendering the colors as accurately as possible (it is not flat shading). I don't know how important it is for weight paint/attribute edit to always force flat shading. If rendering color data over mesh surface is a common problem for all these modes, maybe we should consider adding a separate workbench shading mode/setting just focused on that instead of the not really accurate studio light preset (with an adjustable surface shape influence slider, for example).
Fair points. I usually paint with wireframe enabled so this didn't occur to me. But painting without wireframe overlay is a totally valid workflow too, especially at higher polycounts.
To me, the main goal is this: User should be able to enter weight paint mode and see their weights clearly regardless of their shading settings. So to me the "always force white flat shading" solution is already a big improvement that achieves this goal, but admittedly it could be a bit more elegant.
My naive suggestion then, is that when the user is in MatCap/Studio shading mode, force the weight paint object to use a white matcap, and when user is in Flat shading mode, force the weight paint object to use white Single Color. Is this possible? And is it too hacky, or acceptable?
It seems like an overly spesific case where this behavior is introduced, although if this was extended to all shaded modes it might be OK.
Having said that, an option to toggle between shaded & flat-color has the advantage that it's useful in weight & texture paint modes.
True, I can only comment on the user experience of weight paint mode, but I think this should make sense for texture and vertex painting also. Perhaps @PabloDobarro can confirm?
Are you saying this would be a new checkbox in the Overlay settings, available in texture/vertex/weight paint? If so, that sounds useful, but I worry a bit about adding even more options into the Overlay settings since it's already a bit crowded I'd say. Not a major concern, but maybe something to keep in mind.
It could be a shading checkbox or a two state enum [Shaded, Flat] - for all paint modes, while I'm not especially keen on adding new options, alternatives to this seem to be sacrificing functionality.
Not an overlay, but maybe a different workbench shading mode or an option under flat shading.
Added subscriber: @Wesley-Rossi
Added subscriber: @EAW
Possible solutions: Flat shading combined with Cavity and/or Shadow.
L. Just Flat and R. World Cavity
L. Screen Cavity and R. Both World and Screen Cavity
L. Shadow, World, and Screen Cavity, and R. Shadow
Although I don't really ever weight paint, I typically use flat shading with both World and Screen Space Cavity when working in solid mode, so I am just offering up a possibility that perhaps had not been considered.
Another option is to change the transparency of the overlay based on the normal towards the viewer. Or change the saturation based on the normal. Those are easier to process than doing expensive cavity.
I've seen some of Jeroen's tests and it definitely seems promising. It seemed that a solution which would make everyone happy might be achievable:
Would be much better than I was initially asking for, which is of course very welcome! ;)
This issue was referenced by
c0f600cad1
Changed status from 'Confirmed' to: 'Resolved'
I was just happily removing some code from my addon that I use for entering weight paint mode, which now no longer needs to mess with the shading settings, which is wonderful! Thanks so much for the patch, it's working really beautifully imo.
I did run into one thing which I should've thought of while this patch was still being worked on, sorry for being so late: If the object's viewport display type is set to Wire, the weights are not visible. And if it's set to Bounds, the mesh doesn't become visible.
To be fair, this could easily be argued to be a separate task, but I think it would be nice to tackle this while you're still fresh on the relevant code. I definitely think it would be useful, at least! :D