【AE表达式】以编程的方式使用AE

介绍

如果表达式用的比较熟练了,操作 AE 的方式也会发生很大的改变,特别是有过编程经验的人,更习惯把基于表达式的工程写成一个像软件一样的东西,对,是“写”,你几乎没有手动绘制任何东西,全靠代码写出来。

92eaccc1a33594188171187afdfba08d.gif

题图中的 MG 动画控件就是这样,当你使用它的时候几乎全部都是调节参数,而不是在那里绘制图形。先看一下工程:

e902e26c76372a812c95cd084af80c59.png

这里包含一个名为【Nodes】的形状图层,用来绘制矢量图形,上面有四个空对象,用来控制每个节点的位置,再上面为四个文本图层,所有的位置,动画都靠空对象图层来控制,使用的时候只需要拖动空对象就可以了。

下面我们来一步一步讲解怎么在 AE 中编写一个这样的实用“程序”:

1. 创建一级节点

这样的一个节点控件,有一个一级节点,我们且称之为 Main 节点,然后我这里有三个二级节点 2nd #,它们与 上一级节点 Main 节点相连接,拖动上级节点的时候,下级节点都要跟随移动。

创建一个形状图层,然后添加内容组,且命名为 【Main】,要下一级节点与上一级节点的填充颜色不同,为了美观最好给它添加一个外框,外框的颜色与最终连线设置为相同颜色,这样就不会显得突兀;预想好你要的控制设置,在效果中添加表达式控制来实现参数设置的功能。

b24db7b520c1a885ae45074786ceb374.png

你面临的第一个问题绑定 Main 图形到空对象 Main 图层,之所以设置空对象图层名称与所控制图形组名称相同,一则在操控中比较好找;二则是图层索引会更加方便,因为增加更多的节点可以直接复制节点和控制图层,如果不以一定的规则索引,而每复制一次都要修改代码,稍微多一点就很容易发生混乱,所以绑定位置的代码是这样的:

a5815e14379febd8c39da65f5a75cc2b.png
// 按照本内容组的名称来索引控制层
fromComp(thisComp.layer(thisProperty.propertyGroup(2).name).transform.position, time)

形状图层空间坐标与合成空间坐标不同,需要使用空间转换方法变换到形状图层。利用 thisProperty.propertyGroup(2) 索引到 Main 这个内容组,就可以获取这个组的名称,因为要绑定的控制图层与之同名,就比较方便了。比例属性也是类似的操作:

// 绑定缩放
thisComp.layer(thisProperty.propertyGroup(2).name).transform.scale

在下级内容组 Fill 和 Outer 中除了引用一般参数,计算 Outer 的大小是需要注意的地方:

d23f5892cb29a4fd2bcf933ea00c595f.png
图比较大,在电脑上全屏查看
thisProperty.propertyGroup
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值