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

can I link Text Animation to sliders?

Explorer ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

I wanna be able to change the time of a text animation through editing sliders values 

 

I've seen a guy on YT that made the same but linked the animation to some "markers" I've tried to do the same with sliders but my expression is just a miss and I'm not really good at that yet. can anyone help/tell me where to look?

 

I (and him) have 8 words in the animation and I need to adjust when the animation happened to each word Individually

 

his expression is:

 

 

nim = thisProperty;
numMarkers= marker.numKeys;
delayDur = framestoTime(effect("Delay Duration")("Slider").value);
delay = (textIndex - 1) * delayDur;

if (numMarkers > 0) { delay = textIndex <= numMarkers ? marker.key(textIndex).time : marker.key (numMarkers).time } anim.valueatTime (time - delay)​

 

his video on YT called "Link Text Animation to Markers in After Effects".

 

thanks for all the help!

 
 
 

 

 

TOPICS
Expressions , How to

Views

643

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

correct answers 1 Correct answer

Community Expert , Mar 06, 2023 Mar 06, 2023

In case that's what you were asking, this is one way you could link each word to a different slider. The first word will be looking for a slider named "Delay Duration 1" to specify its delay (in frames). The second word will be looking for slider "Delay Duration 2" and so on:

delay = framesToTime(effect("Delay Duration " + textIndex)("Slider").value);
valueAtTime (time - delay)

Votes

Translate

Translate
Community Expert ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

Your expression has a few typos in it. I think this will work:

anim = thisProperty;
numMarkers= marker.numKeys;
delayDur = framesToTime(effect("Delay Duration")("Slider").value);
delay = (textIndex - 1) * delayDur;

if (numMarkers > 0) { 
  delay = textIndex <= numMarkers ? marker.key(textIndex).time : marker.key (numMarkers).time;
} 
anim.valueAtTime (time - delay)

What exactly did you want to do with the slider?

 

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 ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

That's a expression I found online .

I want to use the sliders to delay or earli the keyframes instead of the markers.

 

Let's say the slider is set by default to 50 and sliding it down will make a word appear earlier and so on

Thanks!

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 ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

If there is a way to link a marker to a slider so it moves with that would work too

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 ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

So you want to connect a different slider to each word?

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 ,
Mar 06, 2023 Mar 06, 2023

Copy link to clipboard

Copied

In case that's what you were asking, this is one way you could link each word to a different slider. The first word will be looking for a slider named "Delay Duration 1" to specify its delay (in frames). The second word will be looking for slider "Delay Duration 2" and so on:

delay = framesToTime(effect("Delay Duration " + textIndex)("Slider").value);
valueAtTime (time - delay)

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 ,
Mar 07, 2023 Mar 07, 2023

Copy link to clipboard

Copied

you are a legend! thank you

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 ,
Mar 07, 2023 Mar 07, 2023

Copy link to clipboard

Copied

can I add a line so the animation of the 1th word keep happening until the 2th word turn?

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 ,
Mar 07, 2023 Mar 07, 2023

Copy link to clipboard

Copied

LATEST

What do mean by "keep happening"? Do you want it to loop if it finishes before the 2nd layer starts?

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