After Efftcs表达式控制层颜色-Z轴增量
本教程教朋友们使用表达式控制层颜色及层位置,在复制图层的时候,新图层会根据表达式自动定义颜色及位置,你还可以自定义开始颜色、结束颜色、饱和度以及复制出来的图层与原图层之间的距离。转发过来,希望朋友们喜欢这篇教程。
具体的制作步骤如下:
1、新建合成,如图01所示。
2、按快捷键“Ctrl+Y”新建固态层,宽设置为50,高设置为300,颜色设置什么都可以,如图02
3、将固态层的3D开关打开,新建空物体层并修改名称为“控制器”,如图03。
4、为“控制器”层添加特效“Color Control”、“Color Control 2”、“Slider Control”、“Slider Control 2”,如图04所示。
5、修改特效名称及参数,开始颜色值为#FF00E4,结束颜色值为# 00B4FF,如图05。
6、新建摄像机层,旋转一下试图以便于观察图像效果,如图06。
7、选择固态层,按“P”键展开Position属性,为Position属性添加表达式:
[position[0],position[1],index*thisComp.layer("控制器").effect("Z轴距离")("Slider")]
position[0],position[1]为定义层的X与Y轴数值,index*thisComp.layer("控制器").effect("Z轴距离")("Slider")意思是将层的Z轴定义为层编号乘以“控制器”层的“Z轴距离”特效的Slider属性值,如图07。
8、表达式设置完成后,选择固态层,多复制几层看看,效果如图所示。
9、现在删掉刚才复制出来的几层,为固态层添加Fill特效,颜色设置为#FF0000,如图09所示。
10、选择开始制作让复制出来的图层颜色自定义,为Fill特效的Color属性添加表达式为:
n=thisComp.layer("控制器");
s=rgbToHsl(thisComp.layer("控制器").effect("开始颜色")("Color"));
e=rgbToHsl(thisComp.layer("控制器").effect("结束颜色")("Color"));
if (e[0]
k=thisComp.layer("控制器").effect("饱和度")("Slider");
if (k == 0) {k =1}
firstLayer= n.index + 1;
lastLayer = thisComp.numLayers;
hue=linear(index,firstLayer,lastLayer,s[0],e[0])%1;
sat=1;
lum=easeIn(index%k,0,k,0.1,1);
if (index == firstLayer) {hsl=s;} else
//if (index == lastLayer) {hsl=[hue,e[1],er[2],e[3]];} else
{hsl=[hue,sat,lum,1];}
hslToRgb(hsl)
此表达式是将层的颜色范围控制在“控制器”层的特效“开始颜色”、“结束颜色”之间,将用“控制器”层的特效“饱和度”来控制层颜色饱和度,如图10所示。
11、表达式设置完成后,选择固态层按Ctrl+D多复制几层,可以看见效果如图11所示。
12、选择“控制器”层,调节“开始颜色”、“结束颜色”、“饱和度”、“Z轴距离”特效参数,效果会随之发生变化。