全名:sourceRectAtTime(t = time, includeExtents = false)

返回:具有四个属性的 JavaScript 对象:[上边界top、左边界left、宽度width、高度heigh]。见下图

范围:仅适用于形状图层,可根据需要增加图层范围的大小;也可增加段落文本图层(After Effects 15.1 及更高版本)的大小,此时它会返回段落框的范围。

示例:thisComp.layer(1).sourceRectAtTime().width //返回本合成图层1的宽度

以上为官方解释

大家知道,一点平面点的坐标可以写为[x,y],一个横坐标x表示水平的位置,一个纵坐标y表示竖直的位置。

4个返回值

上边界:最上面的Y数值(可认为边线的y坐标)

左边界:最左边的X数值(可认为边线的x坐标)

宽度:从最左边到最右边的长度值(可以理解为一段距离)

高度:从最上面到最下面的长度值(可以理解为一段距离)

基准点:起始坐标点位于合成的正中央。上左边界值,是基于合成正中央的基准点进行计算的

补充:想要恢复基准点很简单,只要把所有参数都reset即可

使用范围

形状图层

如果是矩形(蓝色的),可以用形状参数的size设置。非规则的多边形(红色的)虽然没法手动设置,但是可以获取,比如下方蓝色与红色的高宽均为(530,686)

文字图层

一般可以更改字体大小进行更改。

注:

形状的top和left属性可以根据形状-矩形1-矩形变换(位置和缩放),进行更改。不能通过图层本身的变换(位置和缩放)更改

文字

其他参数

第一参数:time

很简单,表达式是获取XX秒XX图像的四大属性,time就是取秒。

比如我K个形状动画,大小从0秒的 (0,0)到10秒的(1000,1000)

这时候我想获取第8秒形状的高宽

a=thisComp.layer("形状图层");
b=a.sourceRectAtTime(t = 8);
[b.width.toFixed(),b.height.toFixed()]  //返回[800,800]

第二参数:includeExtents

include = 包含,Extents = 扩展。加起来就是是否包含拓展

大家都知道,形状和文本图层是可以增加描边的。不过他俩在这里的机制不一样。请听我细细道来

形状图层

include = true :那么要把形状的描边计算在内

include = false :描边不算

文字图层

include = true :算的是文字段落框的高宽,描边不算

include = false :正常计算文字的高宽,描边计算

如何应用

1.自适应调整锚点,以下把锚点始终调整到形状正中心,至于其他位置可以自己改参数。参考链接:MDS的表达式教程

a = thisComp.layer("Text1").sourceRectAtTime();
height = a.height;
width = a.width;
top = a.top;
left = a.left;
x = left + width/2;
y = top + height/2;
[x,y];

2.制作模板,文字自动生成底框

根据文字自动生成底框(b站)

当然,我更推荐Jake In Motion的那个视频,油管链接

3.其他自己想



您的电子邮箱地址不会被公开。 必填项已用*标注