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

Closed
opened 2017-11-20 20:24:25 +01:00 by KiJeon · 17 comments

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:
CopyAttributesVis.gif

Example file attached.

CopyAttributesVis.blend

**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: ![CopyAttributesVis.gif](https://archive.blender.org/developer/F1164077/CopyAttributesVis.gif) Example file attached. [CopyAttributesVis.blend](https://archive.blender.org/developer/F1164086/CopyAttributesVis.blend)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @0o00o0oo

Added subscriber: @0o00o0oo

Added subscriber: @zeauro

Added subscriber: @zeauro

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

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

Thanks for the quick reply, @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"..?

Thanks for the quick reply, @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"..?

Added subscriber: @JoshuaLeung

Added subscriber: @JoshuaLeung

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 @JoshuaLeung 's opinion.

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 @JoshuaLeung 's opinion.
Author

Thanks, @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 @JoshuaLeung has a way to resolve this, or could suggest how to tackle the original problem, that'd be awesome.

Thanks, @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 @JoshuaLeung has a way to resolve this, or could suggest how to tackle the original problem, that'd be awesome.

Added subscriber: @Sergey

Added subscriber: @Sergey

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.

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.
Author

Hi, @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]+- 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.

Hi, @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. 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.

Added subscriber: @ChristopherAnderssarian

Added subscriber: @ChristopherAnderssarian

Additional information has been provided.

*Additional information has been provided.*
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brendon Murphy self-assigned this 2019-05-26 02:39:39 +02:00
Member

hi, archiving this for now, task is over 1 year no activity.

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.

The behavior (snapping Bone A to exact location of Bone C), is offset due to the Child Of constraint bone a to bone b seems correct? whilst not working as you expect, I would have expected an offset as bone c is trying to take into account 2 positions?
feel free to submit a new task if the issue still exists in Blender 2.8

hi, archiving this for now, task is over 1 year no activity. > 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. The behavior (snapping Bone A to exact location of Bone C), is offset due to the Child Of constraint bone a to bone b seems correct? whilst not working as you expect, I would have expected an offset as bone c is trying to take into account 2 positions? feel free to submit a new task if the issue still exists in Blender 2.8
Author

As a user, I expect it to literally copy the visual transformation, not copy visual transformation but still offset based on constraint. If I wanted that, I might try to copy local transformation, but not visual.

In contrast, doing a similar thing with objects (like cubes), produces an expected behavior.

  1. Create Cube A.
  2. Cube B.
  3. Make Cube B a parent of Cube A (Not Child Of constraint).
  4. Create Cube C.
  5. Select Cube A (the child) and shift select Cube C.
  6. Press [Ctrl]+- and select "Copy Location".

You'll note Cube A will snap to Cube C's exact location regardless of having a parent with offset location, which is the expected behavior.

And, yes, the issue still exists in Blender 2.8. I guess I can create a new task just to simply link back to this one, but isn't that unnecessarily redundant? You sure you don't want me to just edit the original post to include Blender 2.8?

As a user, I expect it to literally copy the visual transformation, not copy visual transformation but still offset based on constraint. If I wanted that, I might try to copy local transformation, but not visual. In contrast, doing a similar thing with objects (like cubes), produces an expected behavior. 1. Create Cube A. 2. Cube B. 3. Make Cube B a parent of Cube A (Not Child Of constraint). 4. Create Cube C. 5. Select Cube A (the child) and shift select Cube C. 6. Press [Ctrl]+- [x] and select "Copy Location". You'll note Cube A will snap to Cube C's exact location regardless of having a parent with offset location, which is the expected behavior. And, yes, the issue still exists in Blender 2.8. I guess I can create a new task just to simply link back to this one, but isn't that unnecessarily redundant? You sure you don't want me to just edit the original post to include Blender 2.8?
Sign in to join this conversation.
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-addons#53361
No description provided.