1
$\begingroup$

When I press "g" and slide the keyframes to a different timeline position a specific bone starts rotating strangely. There are no constraints on this bone. I have tried several different things to try and prevent it from doing this.

Copy/paste works most of the time to prevent it from doing this but I still need to know what's going on.

Some curves (like W quaternion) for this problematic bone are flattened on the graph editor when you move the keyframes. See the gif below, or download the .blend.

Gif: https://drive.google.com/file/d/1BkKycvXiytcV6V8FxGfvLewi9b8ZQM8f/view?usp=sharing https://drive.google.com/file/d/1yeMbJ8QgiGbMrbdemtMt3x9JBTz2M5f0/view?usp=sharing

$\endgroup$
4
  • $\begingroup$ Hello, your gif doesn't really help to understand, maybe tell which bone and share your file? blend-exchange.com $\endgroup$
    – moonboots
    Sep 12, 2023 at 18:54
  • $\begingroup$ Added the file. bone027 $\endgroup$
    – RooAzoo
    Sep 12, 2023 at 18:58
  • $\begingroup$ You're talking about sliding the keyframes but which keyframes are you talking about? $\endgroup$
    – moonboots
    Sep 12, 2023 at 19:09
  • $\begingroup$ It seems to come up if I move any of the keyframes past frame 336 on "Action" in the action editor. That action is a collection of different character movements that I'm simply separating out and trying to move them so they start at 0. $\endgroup$
    – RooAzoo
    Sep 12, 2023 at 19:27

1 Answer 1

1
$\begingroup$

You have keyframes that exist between frames, and which don't make any sense for what you're trying to do:

enter image description here

You have keyframes at 629, 629.167, and 630. Before you change your keyframes, you will never see the keyframe at 629.167-- you'll skip right over it.

The nature of this keyframe is weird. This is a similar rotation, but it has a negative W while adjacent keyframes have a postive W. This leads to a fairly strong rotation that, normally, you never notice.

But when you grab the selected keyframes and move them, you no longer have a keyframe for frame 630-- it has to interpolate between this keyframe that it never showed before and the keyframes that used to be on 630. This is weird interpolation that you don't want.

These between-frame keyframes exist throughout the animation. When you move them in the timeline, or in the graph editor with nearest-frame snapping, Blender has to join them to adjacent keyframes in order to snap them. It appears to do so inconsistently-- but in Blender's defense, this isn't an operation that makes any sense, trying to snap multiple keyframes to a single frame. In any case, however Blender combines them, it leads to rotations that you didn't want, that you never saw previously, because they are some combination of the older keyframes with invisible in-betweens.

I don't know how you got these keyframes. They might have been made manually and then forgotten; maybe they were a byproduct of a weird import addon. You almost certainly don't want them. I'm afraid I don't know of a simple, scriptless way to select these markers (there's no checker deselect for keyframes) but some addon might exist somewhere.

Those keyframes are a bad idea for other reasons (for example, they'll screw up motion blur) but if you're okay with them, you just need to move some animation, then you can do so by turning off frame snapping in the graph editor and then moving by a fixed increment (like, g x 180 to move them 180 frames into the future) which will leave the on-frame keys on-frame and the off-frame, off-frame. You will still need to deal with the interpolation for the spaces now left empty, but you should be able to do that just by box selecting and deleting a single set of off-frame keys, as pictured below:

enter image description here

$\endgroup$

You must log in to answer this question.

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