Weight Paint Mode Mirror Vertex Groups not working #116115
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#116115
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?
System Information
Operating system: Windows 10
Graphics card:
Blender Version
Broken: (4.0)
Short description of error
The Mirror Vertex Groups option in Weight Paint Mode ist not working.
Exact steps for others to reproduce the error
Based on the default startup or an attached .blend file (as simple as possible).
Expected behaviour (as well as the described behaviour in the quick description as well as the full documentation) would be for the "Mirror Vertex Group" option wo work like the Mirror option in Sculpt Mode, meaning that the weights would be painted mirrored based on the proximity to the brush.
Hi, thanks for the report. Unable to confirm the described behavior in 4.1
Could you check again in recent builds?: https://builder.blender.org/download/daily/
I tried it out in 4.1 now and the problems still persist. I took a few screenshots to hopefully better illustrate the problems.
(The "active side" is the bone I weight painted on and the "passive side" is the mirrored bone.)
Thanks. Can you share .blend file to be able to verify the issue locally.
Yes of course. Here's the file I set up for the tests. Though it's in the state before anything was weightpainted, so you can properly try out all the different modes.
Weightpaint Symmetry Test 4.1.blend
I think the primary description of the issue does not really correspond to the screenshots provided?
The primary description mentions:
Cannot repro this, also the screenshots for this case (the leftmost column) indicates all combinations are "Behavior expected"
The report description also does not mention for which scenario/combination the behavior changed between 3.6 and 4.0.
Could we try again to clarify this? Thx in advance
Hi there @lichtwerk , I'm not sure I understand what exactly is unclear to you, but I hope the following helps.
Is it possible that the last two screenshots are a bit confusing here? Because in these the "X-Mirror" Option is disabled in the first place therefore I didn't find it unexpected that nothing is getting mirrored. I added them for completions sake, to have all possible combinations covered, but for all intents and purposes regarding the initial problem/s the last two screenshots can probably be ignored.
The 2nd and 3rd screenshots are the one corresponding to the described problem, namely that:
I hope this helps a bit with the clarification, otherwise please let me know 🙂
Best regards and happy new year 🥳
Second screenshot indicates that this is working for you (except for the
Asymmetric Mesh (symmetric Topo)
case). But since Topology Mirror is OFF, why should that case work?That case I need to check again
This is not answered yet
The Mesh "Asymmetric Mesh (symmetric Topology) is just very slightly asymmetric. Therefore I'd expect Vertices on the mirrored side which are in the Radius of the Weightpaint Brush to be influenced accordingly.
At least this is what would happen in Sculpt Mode. Here's a quick example of the same Mesh, but with the one arm moved to the side and instead a sphere in the location and roughly with the diameter of the arm/wrist at that point. See the dot(s) of the brush on the mirrored Vertices:
Does that make a little more sense? Maybe it's the Sculpt Mode that is confusing me here, but to me the way Sculpt works in this case seems to make sense and therefore I'd expect other Modes to work the same way.
I'm not sure what it was anymore, sorry. Just tested it and it seems to have the same problems as 4.0
I will remove this from the report description then
Sorry again this took a while to answer.
This is indeed different in weightpaint mode (with
Mirror Vertex Groups
ON) vs. sculptmode -- or vs. weightpaint mode (withMirror Vertex Groups
OFF). In weightpaint (withMirror Vertex Groups
ON), there are no symmetry strokes on "the other side" :/* We don't do any symmetry strokes when mirroring vertex groups. */
So with
Mirror Vertex Groups
OFF, you will actually get the behavior you described from sculptmode : the brush location gets mirrored and everything inside the brush radius (based off of the mirrored location) is still affectedWith
Mirror Vertex Groups
ON, we dont have mirrored strokes, instead the weights get copied over and this then depends onmesh_get_x_mirror_vert
to determine which verts to copy the weight to. Using a KDTree and the following threshold#define KD_THRESH 0.00002f
This might be unexpected, but does this at least explain the situation from the code side of view?
From the user side of view, I do understand that this is a bit unintuitive.
It might even be possible to not use the KDTree and just use mirrored strokes, but this is probably a little more involved (also some research would have to be done prior to actually know why the current approach was chosen). Will also ask around in chat.
Regarding the whole Topology Mirror side of things: I cannot properly comment on that, see also discussion in #81698
@PanicPug : ^^
poke ^^
Hi, sorry for the late reply on my part this time. Thank you for the research and explanations. I don't fully understand the technicalities behind it, but I think I get the gist of it.
As you said, from a user perspective it's somewhat unintuitive, so if it would be possible to use mirrored strokes, it might be a great help for Weightpainting. If you manage to find out more about it and maybe get an answer from the chat, I'd be very interested :)
The discussion you linked (#81698), I can unfortunately not see, only getting a 404 Error when I click on it.
Thanks again for all your work on this.
Sorry, this should have directed to blender/blender-manual#81698
I did not get an answer on that question, no.
But like I said, this seems to be expected behavior, at least in code due to the comment
/* We don't do any symmetry strokes when mirroring vertex groups. */
So this makes it a non-bug (even if the behavior might be unexpected) and I will have to close this report.
Of course feel free to comment again, but iirc, we have gone over all issues mentioned.