7
$\begingroup$

I had a sword object rigged with a single bone, with a ChildOf constraint making it a child of a sheath (with an influence of 1). Throughout an animation i move the sheath, and the sword bone follows as expected.

However, i cant seem to lower the influence of the sheath to zero and still have the sword retain the position it was just at, and I am wondering how i should go about making this happen.

Thanks for your time.

$\endgroup$
5
  • $\begingroup$ I think this is sort of a bug or issue, I noticed that too, even when you toggle off the constraint eye icon. You may consider to report here $\endgroup$ Commented Feb 11, 2015 at 9:34
  • 1
    $\begingroup$ @Leon Cheung As far as I am aware this is just standard behaviour for objects that are constrained. $\endgroup$ Commented Feb 11, 2015 at 11:07
  • $\begingroup$ @RayMairlot You mean a constraint can still take effect even if being disabled? $\endgroup$ Commented Feb 11, 2015 at 12:37
  • $\begingroup$ @LeonCheung I meant that it is standard that turning a constraint's influence to zero returns the object to it's pre-constrained position. If if a constraint is turned off and it still affects the object, then yes, it may be a bug or a refresh issue due to depsgraph limitations. $\endgroup$ Commented Feb 11, 2015 at 13:25
  • $\begingroup$ Here is a video about it that I made: youtu.be/O6hL1Haj_A8 $\endgroup$
    – harter d
    Commented Aug 20, 2021 at 18:50

6 Answers 6

9
$\begingroup$

This has been built into Blender since version 2.80. Just click the "Disable and Keep Transform" button next to the influence slider.

See the 2.80 release notes for more info.

$\endgroup$
2
  • $\begingroup$ Though, it is not animatable, isn't it? $\endgroup$
    – lemon
    Commented Dec 5, 2020 at 10:21
  • 1
    $\begingroup$ The button performs an action. It is not animatable in the same way that "File Save" is not animatable. You can press the button, and then animate the influence slider, though. $\endgroup$
    – dr. Sybren
    Commented Dec 16, 2020 at 14:22
7
$\begingroup$

The trick to unparenting is to animate the constraint and the objects location. On one frame you keyframe the objects location using Insert visual locrotscale, the visual keying options will keyframe values after modifiers and constraints are applied. You also key the constraint influence as 1.0 on this frame. Then move one frame and keyframe the childof influence as 0.0.

After you keyframe the visual location and change the constraint to 0.0 the object will snap back to it's original position. Once you keyframe the influence go back a frame and it will go back to where the keyframes put it.

You may also have two constraints, one parenting to the sheath and another parenting to the hand. You just have one at 0.0 influence and the other at 1.0 influence on one frame and swap them around the next frame.

enter image description here

Sample blend

$\endgroup$
3
$\begingroup$

For dynamic parenting use the Dynamic Parent addon. It does what you want well and fast.

Basically you need to keyframe your sword transforms, but this addon will do this for you.

$\endgroup$
1
$\begingroup$

I would do it this way:

  • Parent the child with a Child Of constraint (here sphere parented to cube), click on the Set Inverse button so that your object stay at its current position.

enter image description here

  • Move the parent (here from frame 0 to 20).

enter image description here

  • The frame before the dropping is supposed to happen, let say frame 9, select the child and i > create a LocRotScale keyframe.

enter image description here

  • Also, at the same frame, i > create a keyframe on the Child Of constraint Influence, with its factor at 1.

enter image description here

  • The frame where the dropping is supposed to happen, here frame 10, select the child and this time i > create a Visual LocRotScale keyframe.

enter image description here

  • For the Child Of constraint, set the Influence factor at 0 and i > create a keyframe. It should work.

enter image description here

$\endgroup$
1
$\begingroup$

I made this screenshot of a tutorial I found regarding this issue (unfortunately I forgot the creator's name). Works like a charm! enter image description here

$\endgroup$
0
$\begingroup$

I wrote a little add-on for this, to help a colleague at the Blender Institute with this exact issue (disabling a constraint without moving the constrained object). It's at my Random Blender Add-ons repository. It also has operators for copying and pasting matrices (in world coordinates).

$\endgroup$
2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .