【求助】关于表达式
ae吧
全部回复
仅看楼主
level 5
linoakatuki 楼主
看有个模板,在位置里写了两行表达式:
value-index*0.1
value+[0,0,index*1]
这是 一个表达式?还是2个表达式?为什么一个属性可以这么写?求解?
2014年03月16日 08点03分 1
level 11
没看懂。。。这是两行表达式
value-index*0.1
value+[0,0,index*1]
作用不明。。
value意思是“原本的参数”
index意思是“图层行号”
value-index*0.1意思是:图层位置-行号*0.1.
比如:第5层图层, 原来位置400,300,0 那么执行这段表达式后,新位置是399.5,300,0。因为“行号*0.1”是一维数据,而位置是三维数组,所以第一个数字有效。
value+[0,0,index*1]意思是:图层位置+[0,0,行号*1],得到新位置。
比如:第5层图层,原来位置是400,300,0,那么执行这段表达式后,新位置是400,300,5
[0,0,index*1]是一个三维数组,可以跟位置三维参数相加。
问题来了,学过表达式都知道,只有最终结果才能影响参数。就是说,这两行表达式,第一行value-index*0.1是完全没有任何作用的(因为不是最终结果,跟第二行又没有关系), 所以。。。我不明白这个模板为什么要弄一行多余的表达式,怕墨水太多?
我知道,楼主如果不懂表达式,可能不知道我在说什么? 理解的,如果你懂的话,就知道这两表达式很简单的,跟初中学的那些“多项式”“先乘除,后加减”没啥子区别。
就好比,“你好”这个词很简单。 如果你不懂英语,看到“hello”可能一头雾水,但hello这个词,就是你好的意思,很简单。
2014年03月16日 08点03分 2
你好!谢谢你的回复。 我才开始学AE,表达式只看过一点点教程,知道一些非常浅显的用法。 这2个表达式分开来写,意思和你说的差不多。 但是放在一起我就不知道想表示什么意思了。 这个表达式写好,复制若干图层后,会把这些图层排列成一个圆。
2014年03月16日 08点03分
回复 linoakatuki :楼下
2014年03月16日 09点03分
level 11
这两表达式是没法排成一个圆的。 我刚编写了一个能排成圆的表达式:
r=150; //圆半径是150像素,你可以自己改
danweijiaodu=Math.PI/6; //相邻图层对圆心的夹角是π/6(30°)
//你可以根据需要改
dx= Math.sin(danweijiaodu*(index-1))*r; //计算图层x坐标(圆心在0,0)
dy=Math.cos(danweijiaodu*(index-1))*r; //计算图层y坐标(圆心在0,0)
[width/2+dx,height/2+dy] //计算XY坐标(圆心在合成中心)
//你可根据需要改变圆心
2014年03月16日 09点03分 3
谢谢,我也感觉那个表达式不懂。 你写的表达式我再研究一下。 粉你了~
2014年03月17日 05点03分
level 2
AE中的表达式我就没有一个懂的,感觉他是AE里最深奥的一个知识点啦
2018年03月26日 11点03分 4
1