2
$\begingroup$

I have this animated object which I used Location keyframes to make it move up and down:

enter image description here

If I Shift->D and move the object arbitrarily 3 inches on the X axis, I have this:

enter image description here

If I run the animation the duplicate goes back to the original location.

I accidentally found an explanation of the colors when keyframing when searching for a solution. From that explanation I think that the new X axis location is a problem. I don't know what to do about that.

I have tried Object->Relations->Make Single User->Object Animation. It still goes back to the original location.

Should I just have two separate objects and keyframe each of them individually?

Here is a .blend file with just this object:

$\endgroup$

2 Answers 2

3
$\begingroup$

Moving something does not automatically update the keyframes (unless you have Auto Keying enabled). So just moving the object from X = 0" to X = 3" does not keyframe the new X position. That's why the color is orange. It shows you have changed the value but not yet inserted a new keyframe for this value, which means it will get replaced by the stored one as soon as you switch frames, play or render the animation.

I don't know how you created the keyframes you have so far, but it seems that you know how to do it otherwise they wouldn't be there. As a recap: if you change the location of the object, you can do one of the following things:

  • Press I in the viewport and choose Location to insert a new location keyframe on all three axes, replacing the old

  • Hover your mouse over the Location values under Transform and press I, also replacing the keyframes for all three axes

  • Point your mouse on the X value, right-click and choose Replace Single Keyframe to only replace the X value

In your case it doesn't matter if you replace all XYZ or only the X value. Inserting a single keyframe is useful if you either only want to keyframe one axis and not the others or you (intentionally or accidentally) changed all values but only want to store one of the new values.

But you have to change the old keyframe value on all occurences. If you just change it on frame #1, the object will be moving back to the old position and reach it on frame #25 where the next keyframe is. The same with keyframes on #50, #75 and #100.

If you actually want it to always stay in the same position on the X axis, then you could do the following: instead of creating a new object and changing all X values, select the original object and

  • Hover your mouse over the X value, right-click and choose Clear Single Keyframes. Important: clear, not delete - the latter only deletes the X keyframe on the frame you are, clear removes all X keyframes on the complete timeline

  • Duplicate this object and move it to the new position on the X axis - since there are no keyframes on the X channel, it will stay there and not jump back

Another way to remove the X keyframes would be to go to the Dope Sheet, select the X Location channel, right-click on it and choose Delete Channels.

You could do the same in the Graph Editor.

Or, if you definitely want keyframes on the X channel and don't want to change them all separately, if you duplicated the object with keyframes go to the Graph Editor, select all keyframes from the channel X Location (easiest would be to hide the other channels then press A on the graph) and move them up until they reach the desired X position. You could do that by pressing G then Y to move them up and even enter a value for exact positioning, but if you want to move them 3" you cannot simply enter 3, but have to enter 0.0762 because the Graph Editor uses metric values.

$\endgroup$
4
  • $\begingroup$ Thanks for the thorough answer! I see that I could have been clearer in that this particular object should only move on the Z axis. I used the "Hover your mouse over the X value, right-click and choose Clear Single Keyframes." and then duplicate the object method. $\endgroup$
    – curious_1
    May 17 at 7:34
  • 1
    $\begingroup$ @curious_1 Yeah well, if it should only move on the Z axis you might have gotten away with hovering the mouse over the Z axis and choosing Insert Single Keyframe and leaving the other channels completely untouched ;) $\endgroup$ May 17 at 7:59
  • $\begingroup$ After reading your answer I was wondering if such a thing were possible. I had no idea about almost everything you explained. Thanks again for taking the time to write it! $\endgroup$
    – curious_1
    May 17 at 8:09
  • 1
    $\begingroup$ @curious_1 Generally you can animate almost everything by clicking on the dot behind the channel. This sets a keyframe with the current value on the current frame, and only for the channel which dot you have clicked. If there is no dot, the value is most certainly not possible to be animated (at least not with keyframes). $\endgroup$ May 17 at 8:36
3
$\begingroup$

If you duplicate an object, by default il will keep the same action as the original one, and therefore the 2 objects will be overlapping in the scene if they have location keyframes.

If you want the duplicated object to have its own action, switch the Dope Sheet to Action Editor mode, duplicate the action (New Action button) and keyframe the object the way you want:

enter image description here

Or duplicate, open the Graph Editor and move the X Location curve (ShiftH to make all the non selected tracks invisible and be able to easily select the good curve, AltH to make them visible again):

enter image description here

You could also move the duplicated object but keep the exact same action: To do that, parent the copy to an empty and move the empty, or go into the Object panel > Transform > Delta Transform and change the X Location value.

$\endgroup$
2
  • $\begingroup$ Ah, I forgot about the Delta Transform $\endgroup$ May 17 at 6:17
  • $\begingroup$ Thanks for your answer moonboots! One of Gordon Brinkmann's methods was easier for me to get what I needed. $\endgroup$
    – curious_1
    May 17 at 7:34

You must log in to answer this question.

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