Forum Replies Created

Page 6 of 6
  • Julian Chojnacki

    November 5, 2022 at 5:31 pm in reply to: How did they do that?

    Hi Roy,

    you can achieve this effect by masking out freeze frames and motion tracking them into the shot. Here’s a tutorial:

    https://www.youtube.com/watch?v=0sLJM6tD7aw

    Some contents or functionalities here are not available due to your cookie preferences!

    This happens because the functionality/content marked as “Google Youtube” uses cookies that you choosed to keep disabled. In order to view this content or use this functionality, please enable cookies: click here to open your cookie preferences.

  • Hi Paul,

    I’m not sure if this is exactly what you’re looking for, but I hope this helps (as an addition/alternative to Filip‘s approach)

    https://www.youtube.com/watch?v=wgiaNEQit3g

    Some contents or functionalities here are not available due to your cookie preferences!

    This happens because the functionality/content marked as “Google Youtube” uses cookies that you choosed to keep disabled. In order to view this content or use this functionality, please enable cookies: click here to open your cookie preferences.

  • Julian Chojnacki

    October 24, 2022 at 2:57 am in reply to: Control Text Repeater with sliders

    Hey Fabian,

    have you come across a solution to the repeated text from center?

    Best
    Julian

  • Thank you, Dan! This does the job brilliantly.

    Now, I’ve hit another roadblock when trying to apply this concept to an expression selector in order to animate the words individually, so that they’re truly synced to the audio.

    My idea is to combine your expression (the previous t+.5 version) with the expression below that uses layer markers to animate text on a per-word basis. I just can’t wrap my head around how to stack the if/else conditions. How would you approach this?

    anim = thisProperty;

    delayDur = framesToTime(effect("Delay Duration")("Slider").value);

    numMarkers = marker.numKeys;

    delay = (textIndex - 1)*delayDur;

    if (numMarkers > 0)

    {delay = textIndex <= numMarkers ? marker.key(textIndex).time : marker.key(numMarkers).time;}

    anim.valueAtTime(time - delay);

    Best
    Julian

  • Thanks for the fast reply!

    Basically, I’m using the expression below to animate subtitles with text animators using Source Text keyframes. It works perfectly! On single words to be specific. But when it comes to longer sentences, I’d love to have the ability to stretch the ease animation to the next sentence/Source Text keyframe, so that the text is roughly synced with the audio. The ease expression values are driving the range selectors “Start”.

    Best
    Julian

    m = text.sourceText;

    if (m.numKeys > 0){

    n = m.nearestKey(time).index;

    if (m.key(n).time > time) n--;

    }

    if (n > 0){

    t = m.key(n).time;

    t2 = n + m.key(n).time;

    ease (time,t,t+.5,0,100);

    }else

    0

  • Hi Dan, this expression is a gem for subtitles! I’m curious, is it possible to use the next marker as an endpoint for the ease animation instead of using “t+1”?

Page 6 of 6

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy