AE表达式制作电视墙
这个教程教朋友们用AE表达式制作电视墙,电视墙的效果当初被广泛的运用。今天我们就来看看这样的效果是如何实现的。先看看效果图:
若干久以前看过一个帖子,帖子的主人记不清了,他在用表达式建电视墙的时候,没有解决变量传递的问题。我当时下载了他的表达式,前不久整理硬盘的时候发现了,就在他的基础上改进了这个新的表达式以解决变量传递的问题。
具体操作教程附上,方便初学者。
1. 新建一个comp1(720*576):
2. 新建一个solid,别忘了按一下蓝色的键Make Comp Size。
3. 选中该solid层,按下s键,调出scale属性,按住Alt键,点击左边的小码表,添加表达式,如图语句:
4. 保持该层为选中状态,按下p键调出positon属性,按住alt键点击左侧的小码表,为它添加表达式如图蓝色部分。
5. 按下键盘的Ctrl+D键十五次,看看是不是自动换行。
6. 新建一个comp,把拖入中,在里即可制作各种效果。
7. 先在时间线上选中要替换的solid,按住Alt键不放,在素材窗口中选中并拖动要替换的素材。在更换的solid上释放就可达到替换素材的目的。
8. 最后:
这是表达式:
新建一comp(720*576),新建一solid 1(720*576),给scale加expression 。
表达式如下:
===============================
step=4;
w=this_comp.width;
solid_x=(w/step-5)/w*100;
[solid_x,solid_x]
===============================
再给solid 1的position加expression
表达式如下:
===========================================
step=4;
n=this_layer.index;
solid_x=this_comp.width/step;
solid_y=this_comp.height/step;
a=Math.floor((this_layer.index-1)/step); //或者为:a=Math.ceil(this_layer.index/step)
if(n<=step)
{
position_x=solid_x/2+(n-1)*solid_x;
position_y=solid_y/2;
}
else if(n>a*step,n<=(a+1)*step)
{
position_x=solid_x/2+(n-a*step-1)*solid_x;
position_y=solid_y/2+a*solid_y;
}
[position_x,position_y]
============================================
选中solid 1层,按ctrl+d十五下,复制,共十六层会自动排列为一个电视墙.(step的值可变,不过要保持position和scale中的step值一致)。