Bone snapping to only bones #119300

Open
opened 2024-03-11 00:53:00 +01:00 by Adam Earle · 14 comments

System Information
Operating system: Windows-10-10.0.19045-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 537.42

Blender Version
Broken: version: 4.1.0 Alpha, branch: main, commit date: 2023-11-25 22:37, hash: 1b6cd937ffc8
Worked: (newest version of Blender that worked as expected)

Short description of error
Holding down the control key while snapping bones in pose mode isn't great.

Exact steps for others to reproduce the error
Attached is an example
you will notice this feature does work when there is nothing else can be snapped to other than a bone. When a user is in pose mode there seems to be no way to snap only to bones without fumbling around when having to snap through meshes.moving to wire frame mode can help wireframe mode.

I thought this was fixed?
one example is 3.6 demo the other is a 4.1.

Aslo I have no idea how to search for bugs anymore on the new system. sorry.

**System Information** Operating system: Windows-10-10.0.19045-SP0 64 Bits Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.6.0 NVIDIA 537.42 **Blender Version** Broken: version: 4.1.0 Alpha, branch: main, commit date: 2023-11-25 22:37, hash: `1b6cd937ffc8` Worked: (newest version of Blender that worked as expected) **Short description of error** Holding down the control key while snapping bones in pose mode isn't great. **Exact steps for others to reproduce the error** Attached is an example you will notice this feature does work when there is nothing else can be snapped to other than a bone. When a user is in pose mode there seems to be no way to snap only to bones without fumbling around when having to snap through meshes.moving to wire frame mode can help wireframe mode. I thought this was fixed? one example is 3.6 demo the other is a 4.1. Aslo I have no idea how to search for bugs anymore on the new system. sorry.
Adam Earle added the
Status
Needs Triage
Priority
Normal
Type
Report
labels 2024-03-11 00:53:00 +01:00
Author

This seems to be a tough problem because sometimes you want your rig to snap to meshes not just other bones.

Pressing G to Grab and then B to set the snapping points is great. I would imagine excluding only would make it so while the user is in pose mode only the bones could be snapped too? The below option might be affecting snapping.

This seems to be a tough problem because sometimes you want your rig to snap to meshes not just other bones. Pressing G to Grab and then B to set the snapping points is great. I would imagine excluding only would make it so while the user is in pose mode only the bones could be snapped too? The below option might be affecting snapping.
Author

Just want to reference this this #115456

Also just testing it in the other pivot point modes. The 3D cursor has the same problem as well.

Just want to reference this this https://projects.blender.org/blender/blender/issues/115456 Also just testing it in the other pivot point modes. The 3D cursor has the same problem as well.
Adam Earle changed title from Snapping to Bone snapping to only bones 2024-03-11 02:50:54 +01:00
Member

Hi, thanks for the report. You mean bone should not consider mesh vertices for snapping when in pose mode? Can confirm in that case. But @mano-wii knows this area much better so forwarding to him.

Hi, thanks for the report. You mean bone should not consider mesh vertices for snapping when in pose mode? Can confirm in that case. But @mano-wii knows this area much better so forwarding to him.
Pratik Borhade added
Module
Modeling
Status
Needs Info from Developers
and removed
Status
Needs Triage
labels 2024-03-11 06:11:33 +01:00

This is old behavior.
Something similar happens when we edit Mesh and snap to an object affected by a modifier that depends on the object being edited.
For object snapping, the behavior is different, objects with some dependence on the object being transformed are ignored in snapping.
One solution would be to do the same thing for snapping when transforming bones (and maybe for editing meshes too).
This solution would be simple, but I believe it is something for the animation team to decide. Is there any use in snapping in pose mode to the object being posed?

Cc. @dr.sybren, @Sergey

This is old behavior. Something similar happens when we edit Mesh and snap to an object affected by a modifier that depends on the object being edited. For object snapping, the behavior is different, objects with some dependence on the object being transformed are ignored in snapping. One solution would be to do the same thing for snapping when transforming bones (and maybe for editing meshes too). This solution would be simple, but I believe it is something for the animation team to decide. Is there any use in snapping in pose mode to the object being posed? Cc. @dr.sybren, @Sergey
Author

To clarify sometimes you want bones to snap to meshes, curves, surfaces, cameras, lights, and empties, etc.

Then other times you want bones to snap just to bones. Are bone verts a thing? I don't know how or what the solution is here.

Plenty of use cases for snapping bones-to-bones props & environment interaction, character-to-character interaction, Mechanical animation and then some rigs using floating bones and snap elements to lock other bones into place.

To clarify sometimes you want bones to snap to meshes, curves, surfaces, cameras, lights, and empties, etc. Then other times you want bones to snap just to bones. Are bone verts a thing? I don't know how or what the solution is here. Plenty of use cases for snapping bones-to-bones props & environment interaction, character-to-character interaction, Mechanical animation and then some rigs using floating bones and snap elements to lock other bones into place.
Author

I'm not sure if this should be a separate report but there is also offset issue with the 3D cursor when snapping to to a bones tail.

I can only speak for myself and my students, many times while I animating I will use the 3D cursor to help me mark a spot in space. Shift right-clicking enables dragging the 3D cursor. When you hold down the control it usually enables you to snap.

This whole report really is that there is an issue with snapping for animation when editing and using bones

I'm not sure if this should be a separate report but there is also offset issue with the 3D cursor when snapping to to a bones tail. I can only speak for myself and my students, many times while I animating I will use the 3D cursor to help me mark a spot in space. Shift right-clicking enables dragging the 3D cursor. When you hold down the control it usually enables you to snap. This whole report really is that there is an issue with snapping for animation when editing and using bones
Author

Another example of a snapping issue using auto IK. Setting the pivot point to the active element should snap the smaller bone to the other bone.

Another example of a snapping issue using auto IK. Setting the pivot point to the active element should snap the smaller bone to the other bone.
Author

Here's an example of a very simple broken bone rig that uses snapping to help out for more of a comedic effect.

Here's an example of a very simple broken bone rig that uses snapping to help out for more of a comedic effect.

@mano-wii It does make sense to handle feedback loop for bone snapping the same way as it is done for object mode.

@mano-wii It does make sense to handle feedback loop for bone snapping the same way as it is done for object mode.
Sybren A. Stüvel added the
Interest
Animation & Rigging
label 2024-03-18 12:35:05 +01:00

I think a limitation here is that Blender has no 'snap to bone' mode. In pose mode "Vertex" is interpreted as such, but of course it still also snaps to actual mesh vertices.

@AdamEarle wrote:
Here's an example of a very simple broken bone rig that uses snapping to help out for more of a comedic effect.

It would certainly help to actually get that blend file, so that we can use it to test any solution. Videos help to illustrate the issue, but only a blend file can be used to test any possible solution.

@mano-wii wrote:
Is there any use in snapping in pose mode to the object being posed?

I could think of a use (object having constraints with a less-than-1 influence, and you want to slide a bone until it touches that object). But that's "developer thinking of a thing", which is rather different from "animator using this in practice". In the general case, of having a bone snap to the mesh it deforms, I think there's very little practical use in that.

I'll put this on the agenda for the next module meeting.


@AdamEarle wrote:
Aslo I have no idea how to search for bugs anymore on the new system. sorry.

Click on 'Issues', and then use the input field where it says 'Search...'

I think a limitation here is that Blender has no 'snap to bone' mode. In pose mode "Vertex" is interpreted as such, but of course it still also snaps to actual mesh vertices. > @AdamEarle wrote: > Here's an example of a very simple broken bone rig that uses snapping to help out for more of a comedic effect. It would certainly help to actually get that blend file, so that we can use it to test any solution. Videos help to illustrate the issue, but only a blend file can be used to test any possible solution. > @mano-wii wrote: > Is there any use in snapping in pose mode to the object being posed? I could think of a use (object having constraints with a less-than-1 influence, and you want to slide a bone until it touches that object). But that's "developer thinking of a thing", which is rather different from "animator using this in practice". In the general case, of having a bone snap to the mesh it deforms, I think there's very little practical use in that. I'll put this on the agenda for the next module meeting. --------- > @AdamEarle wrote: > Aslo I have no idea how to search for bugs anymore on the new system. sorry. Click on 'Issues', and then use the input field where it says 'Search...'
Author

@dr.sybren Apologize for not including a file.

@dr.sybren Apologize for not including a file.

@mano-wii wrote:
Something similar happens when we edit Mesh and snap to an object affected by a modifier that depends on the object being edited.
For object snapping, the behavior is different, objects with some dependence on the object being transformed are ignored in snapping.
One solution would be to do the same thing for snapping when transforming bones (and maybe for editing meshes too).
This solution would be simple, but I believe it is something for the animation team to decide. Is there any use in snapping in pose mode to the object being posed?

This has been discussed in today's Animation & Rigging module meeting.

There are several cases that all fall under the "snapping to something that's influenced by the bone being transformed" description:

Pose bone A snapping to bone B that has a dependency on A
Can be very useful, as the dependency may be of a different nature than the transform (i.e. B could have a 'copy rotation from A' constraint, but when translating A you may still want to snap to B). And this of course also applies when B is not a pose bone but something else. A bone whose scale influences a Mesh Object's scale could still be snapping to that mesh when translating it.
Pose bone snapping to the mesh that's being deformed by that armature
that's unlikely to be useful.
In Armature Edit mode, snapping of edit bones to the mesh
would be really nice.
Pose bone snapping to Object origins
Could be useful, also for the Armature Object itself.

The most desired way forward would be the introduction of another snapping mode: "Bones". This would make the "Vertex" mode not snap to bones any more, so that users have a clear choice between snapping to mesh verices, bones, or both.

> @mano-wii wrote: > Something similar happens when we edit Mesh and snap to an object affected by a modifier that depends on the object being edited. > For object snapping, the behavior is different, objects with some dependence on the object being transformed are ignored in snapping. > One solution would be to do the same thing for snapping when transforming bones (and maybe for editing meshes too). > This solution would be simple, but I believe it is something for the animation team to decide. Is there any use in snapping in pose mode to the object being posed? This has been discussed in [today's Animation & Rigging module meeting](https://devtalk.blender.org/t/2024-03-19-animation-rigging-off-schedule-module-meeting/33864). There are several cases that all fall under the "snapping to something that's influenced by the bone being transformed" description: Pose bone `A` snapping to bone `B` that has a dependency on `A` : Can be very useful, as the dependency may be of a different nature than the transform (i.e. `B` could have a 'copy rotation from `A`' constraint, but when translating `A` you may still want to snap to B). And this of course also applies when `B` is not a pose bone but something else. A bone whose scale influences a Mesh Object's scale could still be snapping to that mesh when translating it. Pose bone snapping to the mesh that's being deformed by that armature : that's unlikely to be useful. In Armature Edit mode, snapping of edit bones to the mesh : would be really nice. Pose bone snapping to Object origins : Could be useful, also for the Armature Object itself. The most desired way forward would be the introduction of another snapping mode: "Bones". This would make the "Vertex" mode _not_ snap to bones any more, so that users have a clear choice between snapping to mesh verices, bones, or both.
Author
Commented under the animation notes you mentioned. https://devtalk.blender.org/t/2024-03-19-animation-rigging-off-schedule-module-meeting/33864

Commented under the animation notes you mentioned.

Why? Let's keep the discussion in one place.

> Commented under the animation notes you mentioned. Why? Let's keep the discussion in one place.
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
5 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#119300
No description provided.