1. 2. 3. 4.
表达式简介
表达式的语法规则 实例 语言参考
层层联动的方法
1. Parent(父层):父层的变化作用在子层上,而子层对父层没有影响。 2. Pre-comp(合成嵌套):将几个层合并在一起,然后对这个comp进行整体操作。 3. Keyframe(关键帧):几个层都设上关键帧动画,看上去有关联,但实际上毫不相
干。
4. Track motion(跟踪):利用图像识别原理,使一个图层跟随另一个图层中的特定部
分。
5. Expression(表达式):一个属性与另一个属性的数学关联
表达式定义
• •
定义:一个为特殊参数产生数值的工具。一种基于标准Javascript 1.2核心内容的动
画程序语言,有自己的对象,例如Layer, Comp, Camera等。
利用表达式控制在层之间进行联动,利用一个层的某项属性去影响其他层。
表达式使用方法
1. 选择属性名称,Animation/Add expression 2. Alt+单击 属性的关键帧记录器,把一个属性的表达式关联器(Expression Pick Whip)
拖到另一个属性上
3. 使用表达式菜单(Expression Language menu)添加表达式,点回形针图标后面箭头
图标,出现表达式选项。
4. Animation/Keyframe Assistant/Convert Expression 将表达式转化为关键帧
表达式的使用时机
1. 2. 3. 4.
从一个层复制关键帧到另一个层,并且要实时链接时。 只需要父层中的一个属性,而不是全部。 为属性添加随机变化。 产生精确动画。
基本概念
参数:属性的值
例: rotation 的值为30
position的值[100,200],[100,200,150]
• 参数的维度:
• 参数值包含的数值个数 • 参数的表示方式: • 数组
•
• 从数组中提取单一维度数值的方法: 100表示为position[0] 200表示为position[1] 150表示为position[2]
假设rotation有动画,position随之变化,则表示为:[rotation,rotation] 若只要x随之变化,y不变,则表示为:[rotation, position[1]] • 1维:rotation,opaction……
• 2维:scale,Position,anchor point • 3维:scale,Position,anchor point • 4维:(red, green, blue, alpha)
语法结构
全局对象 次级对象 属性
↓ ↓ ↓ thisComp.layer(“solid 1”).rotation
↑ ↑ 分割物体层级关系的“点号”
thisComp.layer(\"Nested Comp\"). source.layer(\"Solid 1\").position[0] thisComp.layer (\"Solid 1\").effect(“fast blur”)(“bluriness”)
thisComp.layer(\"Solid 1\")(\"Masks\")(\"Mask 1\") (\"MaskOpacity\")
基本语法规则
例: position的表达式
temp = 3.14*width*thisComp.layer(\"blue\").rotation/360; [temp, position[1]]
1. 表达式是为特定参数赋予值的一组语句 2. 一句(组)表达式只能控制一个参数
3. 最后一行语句的计算值被赋给参数,无须“=”和“;” 4. 变量不需声明
5. 对象层级格式:合成(“名”).层(“名”).属性[维数](“名”) (“名”)……6. 属性是事件,方法是完成事件的途径
图层属性或方法
图层属性或方法 返回值 维数 Width 数值 1 Height 数值 1 Start_time 数值 1 In_point 数值 1 Out_point 数值 1 Has_video 逻辑 1 Has_audio 逻辑 1 Active 逻辑 1 单位像素像素秒 秒 秒 真假真假真假 Audio_active Audio_levels Index Parent Source Mask(index or name) effect(index or name) 逻辑 属性 数值 层,摄像机,灯光 合成或图层 遮罩 效果 1 2[左/右声道] 1 真假 分贝 数值 插值方法
•
Linear(t, t_min, t_max, value1, value2)
(linear可以换成ease、ease_in、ease_out)
将在t_min—t_max之间的t,以linear的方法分布到value1—value2之间
矢量运算
•
Add(vector1,vector2)
(add可以换成Sub、Mul、Div……)
特征属性和方法
1. thisComp.layer(1).position.value
2. thisComp.layer(1).position.valueAtTime(time) 3. thisComp.layer(1).position.valueAtTime(time-5) 提取属性在某一时间的值、速度、速率。 speed
speedAtTime(t) velocity
velocityAtTime(t) 练习5
初始线条的位置: f=3; A=20;
t=A*Math.sin(f*time*2* Math.PI); [0,t]
即:t=振幅sin(频率* 2∏*时间) 随后线条的位置:
thisComp.layer(index+1).position.valueAtTime(time-0.2)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务