Copy Attributes copy visual transformation (e.g. location/rotation) problem with Child Of constraint
Open, Needs TriagePublic

Description

Blender Version
Broken: 2.79

Short description of error
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:

Example file attached.

Details

Type
Bug

You just have to press Set Inverse button of Constraint to obtain desired result.

Thanks for the quick reply, @ronan ducluzeau (zeauro).

While what you suggest is true, this is actually a part of a bigger system that will be animated where I can't be clicking on the "Set Inverse" button whenever (Refer to the BlenderArtist post: https://blenderartists.org/forum/showthread.php?440992-IK-FK-setup-Bone-position-changes-when-dialing-between-Child-Of-constraints)

Unless there's a way to keyframe "Set Inverse"..?

I re-read your thread on Blenderartist. And I don't think this case was anticipated when constraint was made.
The idea was to use influence slider as a posing tool and only insert visual keyframe to finally don't use constraint at all while playing the animation.
So from this perspective, it looks like a bad idea to add a driver to a second Child of constraint.

I am not so experienced in animation and rigging.
So, it would be better to wait from @Joshua Leung (aligorith) 's opinion.

Thanks, @ronan ducluzeau (zeauro), I appreciate the feedback.

Ultimately, my problem is what's in the forum thread, but one solution to it is if I could get what I reported here resolved.

If @Joshua Leung (aligorith) has a way to resolve this, or could suggest how to tackle the original problem, that'd be awesome.

Sergey Sharybin (sergey) triaged this task as Incomplete priority.Dec 18 2017, 2:16 PM

Please follow bug report guidelines and provide steps to reproduce localized problem.

Reading forum discussion is something we can not do in a reasonable time. So please isolate the problem and make it minimum required steps to reproduce.

Hi, @Sergey Sharybin (sergey). The forum discussion is just to contextualize my problem, but reading it is not necessary to replicate the problem in this report.

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]+[c] 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.

Christopher Anderssarian (Christopher_Anderssarian) raised the priority of this task from Incomplete to Needs Triage.Tue, Feb 13, 1:04 AM

Additional information has been provided.