如何使用AE表达式制作出圆周运动的效果?

AE CS4完全自学教程第210页 9.7 综合实例 中用到了一个preset, 这里有一个表达式:Radius = effect("Radius")("Slider");Speed = effect("Speed")("Slider");RotationOffset = effect("Rotation Offset")("Angle");center = [this_comp.width/2,this_comp.height/2,0];radius=200;//个人认为,这个语句应该是多余的吧,没有意义,因为上面已Radius已赋值了angle = time * Speed + RotationOffset;x = Radius * Math.cos(degreesToRadians(angle));z = Radius * Math.sin(degreesToRadians(angle));add(center, [x,0,z]);这个表达式是让粒子在x0z平面内做一个圆形的轨迹运动,那这一句Radius = effect("Radius")("Slider");Speed = effect("Speed")("Slider");RotationOffset = effect("Rotation Offset")("Angle");可不可以直接换成数值呢,Radius=200;Speed=50; RotationOffset这个滤镜我不知道什么意思,是产生偏移吗?高手指点下。
2026年09月19日 08:02
有1个网友回答
网友(1):

radius=200;这句确实是多余的,但是有点好处,因为这个变量的首字母是小写的,而下面的表达式中根本就没有使用到这个变量,所以它是无效定义的变量值。当你想启用这个变量的时候,你可以直接将radius改为Radius就可以了,如果这样修改了,那么上面使用表达式特效的控制就会失效。Radius
=
effect("Radius")("Slider");Speed
=
effect("Speed")("Slider");RotationOffset
=
effect("Rotation
Offset")("Angle");这三个语句可以直接换成数值,但是如果换成数值了就不好做动画了,如果使用之前的表达式滤镜的话,那么我们可以直接为这三个数值制作关键帧动画,就会产生更多的奇特的效果,比如制作Radius滤镜的关键帧,让它从0变到200,那么就可以实现圆周不断地变大,做出螺旋的运动轨迹来。RotationOffset这个主要是控制圆周运动起始点的位置,让粒子在圆周运动中,可以在圆周的任何一个点上,增加了粒子位置的可控性。希望以上解释可以帮你解决问题。
查看原帖>>