Child bone frozen when both Auto IK and X-Axis mirror are used #75810

Closed
opened 2020-04-17 04:59:11 +02:00 by marc · 11 comments

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: AMD Radeon HD 8370D ATI Technologies Inc. 4.5.13399 Core Profile Context 15.200.1062.1004

Blender Version
Broken: version: 2.83 (sub 13), branch: master, commit date: 2020-04-08 21:23, hash: 1239cab11f
(Broken in both version 2.83 alpha and 2.83 beta)

Worked: 2.82

Short description of error

When both X-axis mirror and Auto ik are activated in Pose mode, grabbing or rotating a bone with a mirror opposite bone (armL and armR for example) then Disabling X-Axis Mirror causes the child of the opposite bone to no longer move when using the grab tool (G).
After that the only way to get Auto IK to behave properly on the frozen bone is to re-enable X-Axis mirror then grab any bone that has no child on opposite side.

Exact steps for others to reproduce the error

From default startup:
1 - Create armature with a bone that has both: a child bone and a mirrored bone. For example, a spine with two arms (the parents) with forearms (the childs).
2 - Enable both 'X-Axis Mirror' and 'Auto IK'.
3 - Select a parent mirrored bone, the upper arm in this case, grab it, then move it somewhere or release it, doesn't matter.
4 - Disable X-Axis Mirror, keep Auto IK activated.
4 - The child bone of the mirrored bone, the forearm in this case, is now "frozen". Grabbing it with Auto IK enabled changes it's transform location property values but the bone does not move. It can still be rotated. Disabling Auto IK allows it to be moved again until Auto IK is re-enabled.

The only way to unfreeze that bone is to enable both Auto IK and X-Axis Mirror yet again then select a bone that has no child (otherwise you'll freeze another bone), grab it, release it, the disable X-Axis Mirror. The bone can now be grabbed and moved with Auto IK enabled as expected.

From .blend file:
1 - Grab either forearm.L or hand.L and move it. (Already in Pose mode and Auto IK is enabled)
2 - In 2.83 alpha and beta It/they won't move. They can be moved in 2.82.

( The file includes a rigify rig but the bug has nothing to do with rigify, i've tested with a stock armature )

blenbug3.blend

**System Information** Operating system: Windows-10-10.0.17763-SP0 64 Bits Graphics card: AMD Radeon HD 8370D ATI Technologies Inc. 4.5.13399 Core Profile Context 15.200.1062.1004 **Blender Version** Broken: version: 2.83 (sub 13), branch: master, commit date: 2020-04-08 21:23, hash: `1239cab11f` (Broken in both version 2.83 alpha and 2.83 beta) Worked: 2.82 **Short description of error** When both **X-axis mirror** and **Auto ik** are activated in **Pose mode**, grabbing or rotating a bone **with a mirror opposite bone** (armL and armR for example) then **Disabling X-Axis Mirror** causes **the child of the opposite bone to no longer move when using the grab tool (G).** After that the only way to get Auto IK to behave properly on the frozen bone is to re-enable X-Axis mirror then grab any bone that has no child on opposite side. **Exact steps for others to reproduce the error** **From default startup:** 1 - Create armature with a bone that has both: a child bone and a mirrored bone. For example, a spine with two arms (the parents) with forearms (the childs). 2 - Enable both 'X-Axis Mirror' and 'Auto IK'. 3 - Select a parent mirrored bone, the upper arm in this case, grab it, then move it somewhere or release it, doesn't matter. 4 - Disable X-Axis Mirror, keep Auto IK activated. 4 - The child bone of the mirrored bone, the forearm in this case, is now "frozen". Grabbing it with Auto IK enabled changes it's transform location property values but the bone does not move. It can still be rotated. Disabling Auto IK allows it to be moved again until Auto IK is re-enabled. The only way to unfreeze that bone is to enable both Auto IK and X-Axis Mirror yet again then select a bone that has no child (otherwise you'll freeze another bone), grab it, release it, the disable X-Axis Mirror. The bone can now be grabbed and moved with Auto IK enabled as expected. **From .blend file:** 1 - Grab either forearm.L or hand.L and move it. (Already in Pose mode and Auto IK is enabled) 2 - In 2.83 alpha and beta It/they won't move. They can be moved in 2.82. ( The file includes a rigify rig but the bug has nothing to do with rigify, i've tested with a stock armature ) [blenbug3.blend](https://archive.blender.org/developer/F8477932/blenbug3.blend)
Author

Added subscriber: @marcdred

Added subscriber: @marcdred

Added subscriber: @ZedDB

Added subscriber: @ZedDB
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Caused by a6a9a12e8f

Caused by a6a9a12e8f
Member

Added subscribers: @dr.sybren, @mano-wii

Added subscribers: @dr.sybren, @mano-wii
Member

This comment was removed by @lichtwerk

*This comment was removed by @lichtwerk*
Member

Clearing BONE_TRANSFORM_MIRROR in count_set_pose_transflags will reenable Auto IK (but break autokey), will need to have a look later with fresh eyes...
[that flag has a history in this regard, see b8ca806b77 as well]

Clearing `BONE_TRANSFORM_MIRROR` in `count_set_pose_transflags` will reenable Auto IK (but break autokey), will need to have a look later with fresh eyes... [that flag has a history in this regard, see b8ca806b77 as well]
Philipp Oeser self-assigned this 2020-04-17 17:59:20 +02:00
Member

Think I got it, will post during/after the weekend...

Think I got it, will post during/after the weekend...
Member

Sorry for the delay, now cleaning up the Diff and will post shortly...

Sorry for the delay, now cleaning up the Diff and will post shortly...

This issue was referenced by 08048f7cce

This issue was referenced by 08048f7cceb82826bb520a2ca04f0bc38271faa9
Member

Changed status from 'Needs Triage' to: 'Resolved'

Changed status from 'Needs Triage' to: 'Resolved'
Thomas Dinges added this to the 2.83 LTS milestone 2023-02-08 16:38:05 +01:00
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
4 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#75810
No description provided.