Copy Attributes copy visual transformation (e.g. location/rotation) problem with Child Of constraint #65577

Open
opened 2019-06-06 19:58:00 +02:00 by KiJeon · 5 comments

System Information
Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67

Blender Version
Broken: version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-06 00:27, hash: blender/blender@8b2b79c210

Short description of error
Exact same problem as #53361. Creating a new bug report per suggestion, but may want to follow the discussion on the task.


Original writeup:
I'm trying to use the "Copy Visual Location" and "Copy Visual Rotation" functions from the Copy Attributes addon to get around a problem in rigging a character.
(BlenderArtists post: https://blenderartists.org/forum/showthread.php?440992-IK-FK-setup-Bone-position-changes-when-dialing-between-Child-Of-constraints)

Normally, copying visual transformation works perfectly fine. But when the bone having the visual transformation applied to has a Child Of constraint, the result is always offset. Demo:
CopyAttributesVis.gif

Example file attached.

CopyAttributesVis.blend

Exact steps for others to reproduce the error
To see the problem, you can download the .blend file and copy the steps as in the animated .gif. Here're written steps if needed:

  1. Enable the "Copy Attributes" addon.
  2. Create a bone (Bone A, let's say) with a Child Of constraint to another bone (Bone B).
  3. Move Bone B.
  4. Create another bone (Bone C).
  5. Select Bone A (The one with the Child Of constraint), then shift select Bone C.
  6. Press [Ctrl]+- to bring up the Copy Attributes menu.
  7. Select a visual transformation (e.g. "Copy Visual Location")

You'll see that it doesn't do the expected behavior (snapping Bone A to exact location of Bone C), but is offset due to the Child Of constraint.

**System Information** Operating system: Windows-10-10.0.17763 64 Bits Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.67 **Blender Version** Broken: version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-06 00:27, hash: `blender/blender@8b2b79c210` **Short description of error** Exact same problem as #53361. Creating a new bug report per suggestion, but may want to follow the discussion on the task. --- *Original writeup*: I'm trying to use the "Copy Visual Location" and "Copy Visual Rotation" functions from the Copy Attributes addon to get around a problem in rigging a character. (BlenderArtists post: https://blenderartists.org/forum/showthread.php?440992-IK-FK-setup-Bone-position-changes-when-dialing-between-Child-Of-constraints) Normally, copying visual transformation works perfectly fine. But when the bone having the visual transformation applied to has a Child Of constraint, the result is always offset. Demo: ![CopyAttributesVis.gif](https://archive.blender.org/developer/F1164077/CopyAttributesVis.gif) Example file attached. [CopyAttributesVis.blend](https://archive.blender.org/developer/F1164086/CopyAttributesVis.blend) **Exact steps for others to reproduce the error** To see the problem, you can download the .blend file and copy the steps as in the animated .gif. Here're written steps if needed: 1. Enable the "Copy Attributes" addon. 2. Create a bone (Bone A, let's say) with a Child Of constraint to another bone (Bone B). 3. Move Bone B. 3. Create another bone (Bone C). 4. Select Bone A (The one with the Child Of constraint), then shift select Bone C. 5. Press [Ctrl]+- [x] to bring up the Copy Attributes menu. 6. Select a visual transformation (e.g. "Copy Visual Location") You'll see that it doesn't do the expected behavior (snapping Bone A to exact location of Bone C), but is offset due to the Child Of constraint.
Author

Added subscriber: @0o00o0oo

Added subscriber: @0o00o0oo

Added subscriber: @AdamPreisler

Added subscriber: @AdamPreisler

The behavior of "Copy visual location of Bone Middle to exact location of Bone Left", is working wrong due to the Constraint affecting bone Middle to copy bone Left (Loc,Rot,Scale).

What the Copy Attributes Add-on needs to take into account before doing the "Copy Visual Location" operation is to first check the constraint and how much it moves the bone and then counter that movement before placing it to it's new location.

Alternatively maybe it should just find movement vector between 2 visual locations in space and move exactly along that vector through space which is what humans do in this situation anyway, it just takes time.

The behavior of "Copy visual location of Bone Middle to exact location of Bone Left", is working wrong due to the Constraint affecting bone Middle to copy bone Left (Loc,Rot,Scale). What the Copy Attributes Add-on needs to take into account before doing the "Copy Visual Location" operation is to first check the constraint and how much it moves the bone and then counter that movement before placing it to it's new location. Alternatively maybe it should just find movement vector between 2 visual locations in space and move exactly along that vector through space which is what humans do in this situation anyway, it just takes time.

Added subscribers: @ideasman42, @rjg

Added subscribers: @ideasman42, @rjg

@ideasman42 This report is currently tagged as Bug but not confirmed and it seems that nobody is working on this at the moment. Should this be confirmed and marked as a Known Issue?

@ideasman42 This report is currently tagged as *Bug* but not confirmed and it seems that nobody is working on this at the moment. Should this be confirmed and marked as a *Known Issue*?
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 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-addons#65577
No description provided.