Is it possible to add something like a delay to a constraint (e.g. Transform or Copy Loc / Rot) or to a driver?

For example, a driver should copy the rotation of a target which it had 10 frames ago. At the moment I'm using a scripted expression for copy rotation.

bpy.data.objects['Armature'].pose.bones['Bone'].rotation_euler.y


But this, of course, is only the rotation in the actual frame. I would not use any keyframes.

• I'm not sure about constraints, but you can do this for parented objects with Slow parent in Properties > Object > Relations Extras. – gandalf3 Jun 11 '14 at 9:34
• Thanks i'm not sure if this will work for me but it's if nothing else works this is a point to start with. – user2488 Jun 11 '14 at 9:51
• This is a book example for using app.handlers. – Jaroslav Jerryno Novotny Aug 13 '15 at 20:00

You can use a conditional if statement in the Driver expression which waits for a specific frame number before evaluating as true.

So for example, here a Camera is tracking an object (Sphere-X) based on a Driver but I don't want this to kick in until frame 130 (until then I want the camera to stay at 200 on the x-axis):

Using the expression:

var if frame>130 else 200


Based on a ternary conditional operator:

valueIfTrue if isConditionTrue else valueIfFalse