【AE表达式】利用sourceRectAtTime()测量下一个图层的小预设

/*本来是打算想办法把另外一个层链接到蒙版动画上,但是后来发现蒙版动画变化的是路径的属性,相当于改变svg中的path,然后写着写着就写出这玩意了*/


先看效果:

不选中任何图层双击预设后,会自动生成一个文本层,显示的是下一个图层的一些信息,这里可以看到第二个图层里面图形的宽高是1200,因为有缩放,所以图层的宽高是600,图形到图层锚点距离为0,内容的中心点在合成中的位置是[400,400],图层的位置也是[400,400];


而这个绿色的形状图层,虽然视觉上是居中,但是图层的位置以及组里面的变换的位置,都是有偏移的;


假如是一个纯色层,可以看到,即使添加了蒙版,图层的大小依然是原来的大小,也就是默认的等于合成大小,所以假如需要测量蒙版的尺寸的话,包括png图像中的图形尺寸,应该是使用sourceImage()的表达式,大致思路是遍历图像上的每一个像素点,每一行每一列的统计透明度完全为0的点的位置,详细内容请查阅https://www.aenhancers.com/viewtopic.php?f=6&t=931 ;


而当我们把有蒙版的纯色层转换为预合成,并且裁切到目标区域之后,这个图层的大小就变成裁切之后的预合成大小了;


最后是一个没有蒙版的纯黑色的纯色层,顺便展示一下表达式内容;

预设下载链接:https://pan.baidu.com/s/1dEZt7jz 密码:cve5


行文仓促,如有纰漏,欢迎批评指正,感谢!

评论

© leizingjiu | Powered by LOFTER