• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Is there a way of applying a animation to objects that aren't in the same place on the timeline.

Community Beginner ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

Lets say I want to move 20 objects 10 pixels on the x axis over 10 frames. well I could copy and past the keyframes or I can make a null or parent if I want them to all happen at the same time. What do I do if I want them to all do the same animation but at different times on the timeline? Ideally I would like to make somekind of "label" that I could apply to all the objects and be able to move the objects anywhere on the timeline. So instead of duplicating 20 nulls and moving them with the object along the timeline I kind of want a master null.

TOPICS
How to

Views

170

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

Via expressions you can read your marker information and their time. So the easiest way to apply this would be the .valueAtTime expression and pick whip your "Master" animation property:

thisComp.layer("Master").transform.position.valueAtTime(time - thisLayer.marker.key(1).time)

 

More in depth tutorial here: https://www.youtube.com/watch?v=gD1V_7x4iLE&feature=emb_logo

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

Thanks TobiFrei

I was hoping there was some kind of plugin for this like in that tutorial I see the author has a easing plugin and it looks like a labeling plug-in. I'm not very good at expressions and was hoping there was something that could label everything and say everything with this label do this.

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

For just offsetting animations you could use Rift. Maybe I don't understand, what exactly you want to label? 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

You know how you can label layers "red" yellow""aqua" etc... An example would be everything with a "red" label  "move 10 pixels over 10 frames" or everything with a "green" label "opacity from 0-100 over 10 frames". It doesn't necesarrly have to be a label if theres some plugin that lets you select a bunch of layers and say do "X" to all these layers.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

Parenting is the easiest way to move multiple layers at the same time. If you want to delay the movement of the child layers all you have to do is add this expression to the Child layers Position property:

 

delay = 20; // number of frames to delay, can be tied to a slider
parent.fromComp( toComp( anchorPoint, time - framesToTime( delay ) ) );

 

This will delay all child layers by 20 frames. 

 

If you want toe delay to be cumulative then the expression looks like this:

 

delay = 20; // Delay in frames, can be tied to a slider
multiplyDelay = delay * ( index - parent.index )
parent.fromComp( toComp( anchorPoint, time - framesToTime( multiplyDelay ) ) );

 

 The second expression is one that I have saved as an animation preset.

 

If you don't want to use parenting then the expression gets a lot more complicated. From what you describe just parenting the layers to the Master or top layer in the comp is by far the easiest way to go. The delay will increase as the layers move down. If you need to modify the comp so the delayed layers are above the master then just change the index - parent.index to index + parent.index. The only other requirement is that the child layers must be just below (index-parent.index) or just above (index+parent.index) the parent layer. 

 

Hope that makes sense. It's a lot simpler than the other expression.

 

By the way, I wouldn't give that tutorial a very good grade. The explanations are not that clear and I'm not real fond of the workflow.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

thanks Rick

That makes sense to me and looks like pretty much what I want. The only small drawback is I would have to type in the delay value each time I wanted to move the delay on the timeline instead of just dragging the layer around but not a big deal. I just can't imagine theres not a plug-in to do what I'm thinking about.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 13, 2020 Nov 13, 2020

Copy link to clipboard

Copied

LATEST

I would add a controller null with a slider and replace the typed in value with the slider value. Then you could even animate the delay over time.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines