Copy link to clipboard
Copied
Hello there,
What I am doing is animating my text to create a smooth intro, and in one of the sentances it fades in and I would like for one word in that sentance to have a gradient on it. Except I just cannot figure it out for the life of me.
I have tried a few things and some suggestions from other posts on here, for instance creating a mask or shape layer, but then when I do those not only is the animation that I have on the text messed up, but I can't add a stroke around the text either.
I am unsure if this makes sense but I will include some images as well to help anyone who wants to help gather a better understanding. As you can see, I would like my text to have that -50% off sign in a green gradient, exactly like how someone else managed to do it in the example image I attatched, except theirs is red.
Best Regards.
Copy link to clipboard
Copied
You can't have both in a simple way. There's no way to just pin a gradient onto something and have it deform organically along with the text. You really need to use multiple text layers or even individual letters. Using a text as a track matte on a gradient layer should suffice for such a simple arched text.
Mylenium
Copy link to clipboard
Copied
Thanks for the reply Mylenium,
As of you writing this reply I have just figured it it, literraly as you replied. You are right, you cannot have one singular text layer and it is more difficult than that. I would explain but it is quote difficult, I guess you sort of have to think outside of the box when it comes to thinkgs like this, and its something that I have Adobe is able to make more simpler in the fututre as it should be in the first place.
Thanks anyways.
Copy link to clipboard
Copied
You could create a mogrt with two text layers. The content of the second layer would be driven by a simple pickwhip expression tying the main text layer's source text to the second layer. Anything you type in the first layer will also appear in the second layer. The second text layer would be parented to the first by holding down the shift key to match their position.
Then, you would add an Expression Control slider to the first layer and an opacity text animator to the second. Set the Animator's Opacity to zero, set the Start value to 1, the Advanced settings for Units to Index based on Words, and change the Mode to Subtract on the first layer. Tie the Animator Offset to the slider with this simple expression that keeps the offset to a whole number.
effect("Word Choice")("Slider").value.toFixed();
Then apply the same settings to the Second text layer and drive the Offset with the same slider control, but don't change the Animator/Range Selecter/Mode to Subtract.
The top layer will show one word at a time as you move the slider, and the bottom text layer will leave out one word at a time as you move the slider. Lock the bottom layer, open the extended Graphics Panel, and set up your MOGRT.
You can also add expressions and controls to adjust the fill color, stroke color, and even the fonts to make this MOGRT more versatile. When you get it into Premiere Pro, you will be able to edit the text and set the highlighted word by the word number you choose on the slider.
I've included a Project file for you to play with. That might get you started. I hope this helps.
Copy link to clipboard
Copied
You might be able to fake this by adding a Stroke Width Animator and an Expression Selector. Add a bunch of sliders to your text layer (I used 4 in this example). Then add a Stroke Width Animator to your text, set Stroke Width to 4 or so to give your text a bold look and set the stroke color to be the same as the fill color. Add an Expression Selector (then go ahead and delete the Range Selector). Set "Based On" of the expression selector to Words, and add this expression to the Expression Selector's Amount property:
sliderNames = ["Slider Control","Slider Control 2","Slider Control 3","Slider Control 4"];
val = 0;
for (i = 0; i < sliderNames.length; i++){
if (Math.round(effect(sliderNames[i])("Slider").value) == textIndex){
val = 100;
break;
}
}
val
Now you can bold up to 4 words by setting each word's index in one of the sliders (leave unused sliders set to 0). You can expand this by adding more sliders and editing the first line of the expression to include the new slider names. Try it--it might get you close enough.