1
$\begingroup$

How do I add animation after rigid body physics has taken place? I've figure out how to animate an object and then have the physics take over, but I can't get the reverse to work. Having a rigid body and then animate. For example, I want a wall to roll and then get sucked up by a space ship. Everything I've tried so far hasn't worked.

$\endgroup$
2
  • $\begingroup$ This might help - blender.stackexchange.com/questions/189665/… $\endgroup$
    – Edgel3D
    Sep 5, 2022 at 23:58
  • $\begingroup$ if you know the reverse, just DO the reverse ;) so to take the physics take over, i am pretty sure that you unchecked the "animated" checkbox in the rigid body settings. Just keyframe the unchecked checkbox, and one frame later (from where you want to animate) just check the "animated" checkbox and keyframe again -> done $\endgroup$
    – Chris
    Sep 6, 2022 at 2:49

1 Answer 1

1
$\begingroup$

The trick here isn't to get it back under control of the animation system-- that's as simple as keyframing the "animated" property. I think where you may be having trouble is in getting it to continue in the way that the rigid body system animated it. There are a few ways to handle this. The first is to use a visual transform:

  1. Bake your rigid body physics, in properties/scene/rigid body world/cache.
  2. Keyframe your rigid body's initial loc/rot at the beginning of your timeline (ie, frame 1.)
  3. Advance to the frame on which you want to take over control of your rigid body. Use "apply visual transform" operation (from ctrl a menu for me), then keyframe loc/rot. Enable the "animated" trait, in properties/physics/rigid body/settings and keyframe that trait.
  4. Go back one frame. Uncheck "animated" and keyframe it.

Now if you go through, you'll find that the rigid body system is in control up until you said, at which point there is no change in transformation from the rigid body system.

You cannot clear your physics bake. Doing so will invalidate your transform. Even if nothing changes, rigid body physics depend on unseeded random values (well, they're seeded, but we don't get control of the seed.) Rigid body physics will not act exactly the same twice in a row.

The other option here is to use a "bake to keyframes" operation (which I access via the searchbar), which will write your existing rigid body animation into a keyframed action, making it so you no longer need rigid body physics whatsoever on the object. As before, if you change anything in the sim, these baked keyframes will no longer be valid. Once you have these keyframes, you can delete or replace any that you would like-- perhaps deleting all after a certain frame, so that you can animate it by hand after that point.

The final way to handle this is to not render your physics object. Instead, disable rendering on your physics object and create a copy-- without rigid body physics, but enabled in renders-- that copies transforms from that physics object via a "copy transforms" constraint. Now, you can animate that object however you'd like, including animating the influence of its constraint. So long as the influence is 1.0, it will act under the control of physics (at least, apparently so); when the influence is 0.0, it will act under your control. For in-between values, it will interpolate between the target of the constraint and its own keyframed transforms. This last version involves the complexity of an extra proxy object, but allows you to continue with unbaked physics in case you wish to make further changes to the system.

$\endgroup$

You must log in to answer this question.

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