I have several objects in my scene that animate a particular way and then repeat around 12 times. Each object starts and stops at different keyframes. What I would like to do is gradually speed up the objects as they progress in time. I am animating a gun and over time I want the parts inside to slowly speed up.
I saw that you can assign a special “Time Track” to certain tracks. Is this what I would want for this purpose? I’m a little confused how this works, and the documentation doesn’t quite say a lot about this.
I guess I could also use the Motion System for this, but I would like to try and avoid that if I could…
Your image shows that you have used Function>Track After>Repeat After.
The Time Track works from the first to the last real keyframe. In case of repetition, that will not allow for a Time Track that covers all the movements, only were you have real keyframes.
You can use: Function>Bake
This will create a copy of the object that you have selected for this Bake and all the keyframes start to finish (incl. loops) will be given. Now the Time Track can work.
The way I would suggest to do it:
Create a Null, drag it into the Time line, go to Create>Special Tracks…>Time Track.
Before you do anything else, name the Null and the Time Track based on the target you have with it. Seriously, if you use many of them, and all are just called Time Track, you will run into stress.
This single Time Track can now be used in any keyframe based animation. Again, only from the first to the last keyframe of each object. If these keyframe position are not the same (first and last) the Time Track will be out of sync. So, find the last start frame and the end frame and if needed delete or add a keyframes, so everything agrees to each other.
Now: select all the tracks that you like to speed up, once selected have a look to the Attribute Manager>Properties>Time Track. Drag from the Time Line the Time Track into this field, and all selected Tracks will receive it.
There is no management option to see where the Time Track is used, hence my urge to name it wisely.
In the Timeline>F-Curve, select the Time Track and adjust the curve. It is a 0-100% curve, and I guess how to adjust this curve is no secret for you. If someone reading along has a need for an example (_01), I have attached one below.
You asked not to go with the Motion System. The process there is perhaps a little bit faster, maybe not. You create a Motion Clip of one Cycle. Loop it as often as you need. Then select all the Clips of one object and Convert it (Right mouse click) to a “Motion Source”. Mute all the other clips and place the Motion Source on a new Layer. Click on that layer and adjust in the Attribute Manager>Advanced, the Spline curve. Done. The key here is the clear “view” to all parts, the Time Track is in need to be explored where it was used. Also here, an example is attached in the link below. (_11)
You’re very welcome, Matt, and thanks for the nice feedback.
Typically, if I don’t mark it as guess or brainstorming, I have set up a test file and went through it with the current version. Which shows me if my memory and the reality is congruent at this point in time, hehe, or if I forgot something, maybe the app has changed, etc. This practically approach has served me well so far, and allows to share a scene file on the end as well. Answering from memory doesn’t work always and the scene file gives typically a good base for follow up questions.
Okay so I may just go the motion system route Question though, when I convert an object to a motion clip, it asks Remove Included Animation from Original Object. If I do remove this, is it possible to go back and edit individual keyframes of objects if need be? Or do I lose the original keyframe data? What is best practice here?
Also, when I went to create a motion clip of my Bolt Carrier Assembly, it had a slight delay. It does have XPresso attached to it, which drives other objects in my scene. It’s like the priority has been shifted. So I went back and made sure Bake Expressions was enabled. This fixed the Bolt Carrier itself, but now the other objects in my scene have a slight delay. Is there any way around this? I’m thinking only way around this is to group all objects affected by the XPresso under a null, then add the motion tag to that null? That way it gets all the hierarchy needed.
The idea to remove the Keyframes is mainly based on the option to move the Motion clip. If there is no Motion clip, the the original keyframes will take over. The Motion System has the say what moves. To be clear, even a Motion clip is set to 0% it overwrites any existing Keyframes, even if the clip is empty by itself. If the motion clip is set to mute (the little film-stripe icon) the original animation is back to work. (Take system settings comes to mind, hence my first suggestion to go with the 0% for Takes, instead of muting them.)
If you right mouse click on a motion clip, you can access the Motion clip data (Dope Sheet or F-Curve). But be careful, any change in this will affect all Motion clips from the same source. If only one )or a few) should be altered, make a copy and name it wisely.
Since we have sometimes areas in the Motion System that have no clip data working on the object, it is good practice to remove the keys. If you want to go back, no Motion System, you can write the keys back as they are set up currently. If you need the original version, perhaps use the back-up copy, or place the original Motion clip as the only source with the same timing. Then write it back. In the Main Menu of the Motion Clip you find the needed “Convert” option. This should not be the option to edit some keyframes and write it back, as the Motion clips will exist and this method will fill the Motion clip browser, if you go back and fore. But, yes, its an option…
I assume that you do this already, but safe often, safe early, is certainly never a bad advice.
Thank you so much for your response Dr. Sassi. Your comments about the motion system make sense. Good to know that the original animation data is still inside the clips.
Do you have any advice for the delay/priority issue I am still getting? I tried grouping all objects affected with XPresso under a null, made sure to bake the keyframes when converting to a motion clip, but unfortunately still get delay. I wish the whole priority system would go away :( It’s just very cumbersome to deal with. Only thing I can think of now is to try the Time Track route.
I’m not aware of delays, perhaps you have a scene file. To place things under a Null might help or make things worse, I would see that as a sound advice. How they are sorted under a Null would be then the next question.
Animation Clips should contain the information from the XPresso. If all is in one clip, you can open the Clip in the Dope Sheet and move the keys you find to have a delay. If parts are in separate clips, it might be possible to adjust them just a frame or two, depended on the delay.
Typically, the scene starts with the objects in the Object Manager that are in the top position and go then down.
What I see often, even the Object Manager is well organized, the nodes in the XPresso Editor are not. Mostly it works out fine, but if an information is not produced, the one from the frame before will be used.
Also, the priority of any number and category in the Priority is used. To make things worse, some few objects have two levels. Anyway, the higher the number, the later the process will be adapted and overwrites earlier states, which means on the other hand, high priority objects, do not have produced the information lower objects need.
Mostly underestimated: the Constrains. If the preview render looked fine, I’m not certain why the Animation Clips are out of sync.
Kai’s priority tutorial is certainly a good one to watch again.
I’ve got all the objects animated via the Motion System. Is it possible to base all the animations on the same curve? Each object needs to stay in sync with one another as the animation moves forward in time.
Not sure what happened this time around, but I am not getting the delay/priority issue with the bolt carrier setup. I grouped the bolt carrier objects that share the Xpresso into a null, and then made a motion clip out of those. Then I made a motion clip for both the Auto Sear and Hammer. So currently, those are the only three items that have Motion Clips. I can gradually speed up each object under Advanced > Timing, as you suggested. However, timing all the objects to gradually speed up at the same rate is where it gets tricky. Any ideas here?
Make a copy of the content, just cmd drag the top null. Move it a few units in X, so both are side by side.
While on frame zero, delete all the Motion Systems of the copy. Press play. Nearly no difference.
Have you created the Animation clips without checking for the Baking Expressions? That would explain things.
I see they are similar in length, but all a little bit shifted, compensation for the delay. If so, keep that in mind. Adjust the start and end points of the clips accordingly, so they are the same after moving.
While creating Animation Clips, set the timing in this project to the same each time, as you like to set the Spline Interface, which needs the same start and end point of the original clip.
Sometimes it is perhaps better to step out of a complex animation, open a new scene and animate one or two cubes, and recreate the problem. At least that what I do, to gain simplicity, and hopefully be clearer in my replies. Repetitions set up in F-Curves might differ from Repetition in Motion System; Please compare.
All the best
Please also keep in mind the hint from the manual: Timing
This spline curve lets you change the timing of the recorded animation. Note that this spline curve only affects the animation temporally and will not affect any loops that have been defined. If a value greater than 0 has been set for the Loops value, the modified Timing value will change accordingly with each loop.
I wasn’t able to see any keyframes with the file you have had send. Can you confirm that? Totally weird. I clicked to open the clip in a Dope Sheet of F-Curve, no show.
The problem that I face often, I really don’t know what you know, and/or what I have to share to make it work. The for me is not your project, it is that you can set up what ever you like. To fix it, and make it work, I notice over the years, is more often than not a dead end street, it doesn’t produce that “click” in someones head. On the other side, I feel bad as well, to not fix it and everyone is happy, for that moment.
When I read “give up”, that is the opposite of what I want.
So, what counts is a the acceleration of this animation. I know that you have a loop (bolt and casings/bullet) and a progression (the magazine) that needs to work together. As a filmmaker, I would ask you, what is important, the acceleration or the progress of the magazine getting empty—in the same “take”. Most people try to do everything in a one long take during animation. The result is often a boring long shot. As Hitchcock said, Film is life with the boring stuff cut out. So, why many people in 3D animation avoid this concept like the pest? My only answer is, there is a satisfaction in the “Game” like set up of a scene, but we all know (I hope) a director of a movie is not directing actors, a good director is directing the audience. A bad director like to feel as the boss on set, but that isn’t visible in the movie ever, so whats the deal. That is what makes a movie, to know which of the three one self is. On the end all that count is what is on the screen, and seen by the audience. Well, not really, what count is what the audience imagines. Don’t tell, show, is the old saying, but I really don’t think so, it is Don’t tell, perhaps show, but make them imagine it. that is the magic of all our doing.
Having said that: The Magazine can be shown, while going empty, in an insert. The Bolt/Casing/Bullet cycle can life with a looped top view of the magazine. This is a doable in a copy of the scene, which is focused only on the speed up. To show the whole gun why speeding up defeats the impact to the audience, The fast pace is the key moment, the farther away (smaller in the image) that part is, the smaller the impact. Again, old film-school “abc”, what is bigger in the picture, is more important. The audience has already understood the progress of the magazine, and a shot refresher as an insert is all they need. This piece is about power and speed, and it needs to go as close as possible. The closer we go, the more movement we have, “pixels per second” so to say, (mph).
With the focus on that small part, the loop is limited to a few elements, and can be fine-tuned for exactly this.
Then bake from the last element in the chain progressively to the initial element. Bake it into the Motion Clip, take the keyframes out, bake the Expression, so you have all in one stream of keys. If things are kept in dependencies all of the place, you end up with an constant attention of a complex scene. The idea of the Motion clip is the exact opposite, to handle animation with ease, like you edit a movie, and not herding cats.
What is your target, a one time through machine as a C4D scene or a movie that is wonderful to watch and re-watch. Waht’s your target.
Hmmm you make some very good points I suppose I did already show the basic workings of the gun, so no need to show the audience again but slowly sped up. I wish I would have taken an animation/film course in college. I’m worried my audience will become bored with this animation after the first 30 seconds or so. This is my storyboard, although now I’m thinking I should have gone into more detail with it :/