【AE教程】AE的单侧固定的圆角矩形!!

前几天在群里面看到一个问题“如何让一个圆角矩形右侧固定,左侧伸长”。一般来说,转成贝塞尔曲线是最直接的方法,调节的直接就是那些路径锚点。但是在其他时候,可能会出现伸长以后再进行下一步的变化,所以贝塞尔曲线并不是最好的方法。


在PS或者AI中,我们的习惯通常是这样的



我尝试着调整 图层—内容—矩形 里面的大小,矩形会根据矩形的锚点为中心,向四周伸缩。



而将锚点先放在右边中间的位置的时候……



这特么!!!!

但是调整了几次以后,发现规律了。




假如我需要左侧始终固定(左对齐)的话,矩形向右增加多少,矩形中心点就会对应的向右移动一半的距离。



那要怎么让AE帮我做到,我调整好大小以后,矩形的位置自动移动那一半的距离呢?毫无疑问,表达式。 
 

在AE中,输入表达式的感觉好像有点似曾相识?




在Excel中,最最最常用的fx是求和以及计算差值



这似乎可以同样在AE试试



而在AE中,当我们按着Alt单击码表的时候,可以看到表达式的输入框出现了一行字


分析这行字可以知道这是


那么这意味着这时候这个表达式等于它自己,而它自己的关键帧又带有变化的数值,所以这个表达式最终计算的结果就等于关键帧的值。

那么它能不能获得其他属性的值呢?可以的。跟链接父子级的操作一样,拖动这个蚊香一样的图标到别的属性就可以获得对应的值



但是需要注意的是,某些属性的值不一定只有一个数字,有些属性可能有两个(譬如位置xy)、三个(三维的位置xyz)甚至四个(颜色rgba)。而AE表达式是以js为基础的,因此数组的详细内容可以阅读相关的js资料。

MDN/Glossary/Array  https://developer.mozilla.org/en-US/docs/Glossary/array

JavaScript 数组 https://www.w3school.com.cn/js/js_obj_array.asp


//后来顺便做了个变色小动画



回到最初的问题上,我们希望这个圆角矩形固定一边不变,而向另一侧变宽,因此对它来说它每变宽两个单位长度就必须移动一个单位长度。



//抱歉,动画里面的表达式其实没这么简单,图是另外截的。

siez= 叫矩形的内容 里面的 叫矩形路径的内容 里面的 尺寸

w= 尺寸的第一个值---宽

h= 尺寸的第二个值---高

wX = 宽/2

hY = 高/2

p = x方向上的值是wX---宽的一半,y方向的值是hY---高的一半


我们可以看到位置的移动就等于宽高分别的二分一了。

除了这个变化的规则以外,还涉及它初始的位置。因为位置是属性本身的值(value),所以直接追加在最后就可以了。


add(value,p)---  value---当前表达式的属性的值,这个值有x和y的,分别和p的第一个值和第二个值相加 。


然后添加上各种判断,是对齐左边的还是右边的,上面还是下面



于是我们终于获得了一个能够固定一边,向另一边扩展的,并且能随时调整圆角的圆角矩形了。



后记: 其实把变化值放在位置容易解释,但是需要做位移动画之类的会比较麻烦,所以后来也做了一个把变化值放在锚点的版本,并且保存成预设,假如在使用中遇到什么问题请务必告诉我!

百度网盘链接:https://pan.baidu.com/s/1jIdlRds 密码:7wbt


--------------------------------------------------

放去AE文件夹下面的Support Files\Presets\userPresets 就可以了!

//userPresets 是我自己建的文件夹,放自定义预设用的,感谢鸡爷教会我生成预设!



---------------20200628--------

https://uiiiuiii.com/aftereffects/121210645.html


评论
热度 ( 8 )

© leizingjiu | Powered by LOFTER