Copy link to clipboard
Copied
I'd say I'm a beginner/intermediate After Effects user. I barely understand expressions and certainly don't know how to write them myself.
I'm trying to create motion graphic templates that can be imported to premiere as mogrts but I need the size of my compositon to mirror the size of the text so that the text controls the size of the entire composition.
Is there an expression for that?
Copy link to clipboard
Copied
Responsive Design AE MoGRTs do not transfer over to PPro. PPro locks in an AE MoGRT's dimensions when it first gets imported into the EGP's Browser. In short, what ever your comp size was in AE, when you exported the MoGRT, this is the size PPro uses. It will have been better if PPro only locked dimensions when the MoGRT is placed into a PPro Sequence. You can send in a feature request.
On developing Responsive Design MoGraph, this is still relatively new and you won't see many examples around. I did provide a sample for users to download but didn't get any takers.
Lastly, text sizes cannot affect comp size but rather the other way round. IOW, you can rig things up such that changing comp size can affect text size and position and other properties; and this is where Responsive Design MoGraph comes into play. It's sorta like web design's approach to responsive design but lots more challenging tasks since video inherently deals with dynamic/moving elements.
You can view an example of a Responsive Design MoGRT here -
https://gumroad.com/products/iMjIb
Copy link to clipboard
Copied
You could make your text size stay at the size of the composition. If you want to go this way, add this expression to the size of your text:
thisR = sourceRectAtTime(time,true);
thisHeight = thisR.height;
thisWidth = thisR.width;
ratio = Math.min(thisComp.height/thisHeight, thisComp.width/thisWidth);
value*ratio
If you also want your text to always be in the middle of the composition, and thus entire visible, add this to the anchor point:
var myWidth = sourceRectAtTime(time,false).width;
var left = sourceRectAtTime(time,false).left;
var myHeight = sourceRectAtTime(time,false).height;
var top = sourceRectAtTime(time,false).top;
[left+myWidth/2,myHeight/2+top]
Find more inspiration, events, and resources on the new Adobe Community
Explore Now