Regression: Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone #101686

Closed
opened 2022-10-07 21:27:11 +02:00 by Kosyne · 14 comments

System Information
Operating system: Windows 10
Graphics card: GTX3090

Blender Version
Broken: 3.2.0 onwards
Worked: 3.1.2

Caused by b1908f2e0b

Short description of error
When selecting a bone in weight painting mode via ctrl+left click, you can select bones, HOWEVER, if the bone is behind any part of the mesh, (even with Viewport Display: In Front selected), the mesh gets selected instead of the bone.

Expected behavior: I should be able to select the bone, not the mesh.

This worked in versions prior to 3.3.

NOTE: This CAN also happen with octahedral bones, but it is much more sporadic.

Exact steps for others to reproduce the error

  1. Open attached .blend file
  2. Disable the GPU Depth Picking option in {nav Edit > Preferences... > Viewport > Selection}
  3. Select the octahedral armature on left, then the associated cylinder and enter weight paint mode
  4. CTRL+LClick the 3 bones, (these may not display the issue in question, as octahedral bones only sometimes show the issue)
  5. Now repeat steps 3-4 for the armature+cylinder set on the right
  6. See that you have trouble selecting any bone that is occluded by the mesh.

Attached is a .blend file and video demonstration.

Blender Bone Selection Issue.mp4

Weight Paint Select Issue.blend

**System Information** Operating system: Windows 10 Graphics card: GTX3090 **Blender Version** Broken: 3.2.0 onwards Worked: 3.1.2 Caused by b1908f2e0b **Short description of error** When selecting a bone in weight painting mode via ctrl+left click, you can select bones, HOWEVER, if the bone is behind any part of the mesh, (even with Viewport Display: In Front selected), the mesh gets selected instead of the bone. Expected behavior: I should be able to select the bone, not the mesh. This worked in versions prior to 3.3. NOTE: This CAN also happen with octahedral bones, but it is much more sporadic. **Exact steps for others to reproduce the error** 1. Open attached .blend file 2. Disable the `GPU Depth Picking` option in {nav Edit > Preferences... > Viewport > Selection} 3. Select the octahedral armature on left, then the associated cylinder and enter weight paint mode 4. CTRL+LClick the 3 bones, (these may not display the issue in question, as octahedral bones only sometimes show the issue) 5. Now repeat steps 3-4 for the armature+cylinder set on the right 6. See that you have trouble selecting any bone that is occluded by the mesh. Attached is a .blend file and video demonstration. [Blender Bone Selection Issue.mp4](https://archive.blender.org/developer/F13630258/Blender_Bone_Selection_Issue.mp4) [Weight Paint Select Issue.blend](https://archive.blender.org/developer/F13630259/Weight_Paint_Select_Issue.blend)
Author

Added subscriber: @Kosyne

Added subscriber: @Kosyne
Kosyne changed title from Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone to Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone's with display type of 'stick' 2022-10-07 21:29:37 +02:00
Kosyne changed title from Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone's with display type of 'stick' to Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone 2022-10-07 21:33:34 +02:00
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

Thanks for the report. I'm not able to confirm this in both 3.3 and 3.4
Can you replicate it with factory prefs?: {nav File > Defaults > Load Factory Settings}

Thanks for the report. I'm not able to confirm this in both 3.3 and 3.4 Can you replicate it with factory prefs?: {nav File > Defaults > Load Factory Settings}

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'

I can replicate the problem if I disable the GPU Depth Picking option ({nav Edit > Preferences... > Viewport > Selection})
Disabling that option, the object Cylinder.001 is deactivated (instead of the bone being selected).

I can replicate the problem if I disable the `GPU Depth Picking` option ({nav Edit > Preferences... > Viewport > Selection}) Disabling that option, the object `Cylinder.001` is deactivated (instead of the bone being selected).
Author

I didn't get the notification for this, my bad!

But yeah, I just confirmed it today with the same option. I had GPU Depth Picking turned off for performance reasons (it's pretty bad when you have a lot of bones in a complex armature).

EDIT: Updated working/broken versions based on testing with this config option.

I didn't get the notification for this, my bad! But yeah, I just confirmed it today with the same option. I had GPU Depth Picking turned off for performance reasons (it's pretty bad when you have a lot of bones in a complex armature). EDIT: Updated working/broken versions based on testing with this config option.
Member

Added subscribers: @ideasman42, @lichtwerk

Added subscribers: @ideasman42, @lichtwerk
Member

Caused by b1908f2e0b

CC @ideasman42

Caused by b1908f2e0b CC @ideasman42
Philipp Oeser changed title from Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone to Regression: Weight Painting: CTRL+LClick to select bone does not work if mesh is in front of bone 2022-10-20 10:18:57 +02:00
Campbell Barton self-assigned this 2022-11-02 11:27:17 +01:00

Added subscriber: @JerBot

Added subscriber: @JerBot

This issue was referenced by 3d72c37f7a

This issue was referenced by 3d72c37f7ad3bf36ae36bc9860a9b0de16bd60ea

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

Committed fix which prioritizes pose bones in [weight-paint + pose-mode], (not just pose-mode).

Although its unclear how paint modes should deal with re-selecting the already active object.
It's mostly a redundant action however as it can de-select other objects, that impacts weight-paint + pose mode.

Here are two other fixes I looked into:

  • P3287: exclude the active weight paint object from selection.
Prefer to avoid this as it may have wider implications for picking objects (using data selector for example).
  • P3288: conditionally disable re-selecting the active object (restore old logic but only for weight-paint mode).
Works well but adds back complicated logic for a feature that is already supported in pose mode.

If re-selecting the active paint object is ever an issue, something similar to P3288 could be added back, however I'd like to see evidence it's needed.

Committed fix which prioritizes pose bones in [weight-paint + pose-mode], (not just pose-mode). Although its unclear how paint modes should deal with re-selecting the already active object. It's mostly a redundant action however as it can de-select other objects, that impacts weight-paint + pose mode. Here are two other fixes I looked into: - [P3287](https://archive.blender.org/developer/P3287.txt): exclude the active weight paint object from selection. ``` Prefer to avoid this as it may have wider implications for picking objects (using data selector for example). ``` - [P3288](https://archive.blender.org/developer/P3288.txt): conditionally disable re-selecting the active object (restore old logic but only for weight-paint mode). ``` Works well but adds back complicated logic for a feature that is already supported in pose mode. ``` If re-selecting the active paint object is ever an issue, something similar to [P3288](https://archive.blender.org/developer/P3288.txt) could be added back, however I'd like to see evidence it's needed.
Sign in to join this conversation.
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
7 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#101686
No description provided.