← All ideas
  • Published 16 Dec 2024

Maintain offset for constraints

It's good to have a thing called "maintain offset" for constraints like CopyTransform, CopyLocation, etc. It should work almost like it exists on ChildOf constraint (setting up inverse matrix).

It's very useful and convenient to constrain bones with different orientations.
Now in order to imitate this, I have to do the following: Assume we have a driver and a driven bones.

  1. Duplicate the driven bone.
  2. Parent it to the driver bone.
  3. Add CopyTransform to the driven bone with a target=duplicated bone.

It's cumbersome especially having lots of such constraints.

100%

Development Status: Open

Upvote 4 Downvote 0
azagoruyko
16 Dec 2024

2 Comments

azagoruyko Author

@pxy-gnomes, the suggested idea is not bad, but it doesn't work if a driver has a parent and you move the parent.

control  # should be controlled by driver with copy-transform
parent  # move this, it doesn't move control above
  driver # move this, it moves control

Yeah, I could set LocalWithParent instead of Local for the constraint, but it doesn't work with any parent anyway.

pxy-gnomes

Hi, I believe you are referring to the Inherited 'Ballistic Rotation' behavior which occurs spontaneously to a Parented Offset/Dsiconnected Bone, by Rotating its Parent Bone. Which, also works for Child Of Bone Constraint.

But, did you know there is a Copy Transforms Bone Constraint Setup, which can reproduce this behavior, without the Child Of Bone Constraint drawbacks? I've been calling it 'Fake-Parenting':

youtu.be/3xuhcgjagsQ youtu.be/3xuhcgjagsQ

I believe your idea is fine though (would make things easier and more accessible for Rigging in Blender), but I think it would require a bit more polishing. I think the 'Fake Parenting' effect, is a combined, Inherited Transforms (Location+Rotation), and additionally it includes the Pivot Point of the Parent/Target Bone (or whichever is overarching on occasions, like FK Chain and such). So it's a compound Transform, which might be the reason it is not given spontaneously by just a single Driver (perhaps multiple Drivers?) or an insolated Copy Location Bone Constraint, or even a Copy Location + Copy Rotation Bone Constraints combo (I can't achieve); however, a Copy Tranforms Bone Constraint can achieved the behavior, if especially Set Up for 'Fake Parenting'.

Tell me if that's the case.