向安宇知识库 向安宇知识库
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
      • 非虚构
      • 剧本
      • 小说
      • 文言
      • 随笔
      • 日记
    • 视听
      • 纪录片
      • 设计
      • 视频
      • 摄影
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
首页 › 创作向 › 课程 › AE表达式|02、怎样规范地书写表达式?
  • 8
  • 1

AE表达式|02、怎样规范地书写表达式?

向安宇
2018-07-02 22:49:55
有哪些写入表达式的方法?

 

在Effect Controls(特效控制)窗口或者时间线窗口上,找到需要添加表达式的属性:

方法一:option(Mac)或者alt(win)键,加左键单击参数前的码表。

方法二:快捷键 Shift + option/alt + “=” 。

AE表达式|02、怎样规范地书写表达式?-向安宇知识库

之后就能在时间轴上呼出表达式面板。

AE表达式|02、怎样规范地书写表达式?-向安宇知识库

白色框是表达式的编辑窗口。

属性参数后面下会出现并排的四个图标:

AE表达式|02、怎样规范地书写表达式?-向安宇知识库 单击启用和关闭表达式
AE表达式|02、怎样规范地书写表达式?-向安宇知识库 显示表达式运算后的曲线图表
AE表达式|02、怎样规范地书写表达式?-向安宇知识库 拾取器
AE表达式|02、怎样规范地书写表达式?-向安宇知识库 表达式语言菜单

如果所写表达式有错误,则会出现一个黄色三角的惊叹号,同时也表示这个表达式并没有起作用。

AE表达式|02、怎样规范地书写表达式?-向安宇知识库 表达式出错

在编辑区书写表达式的方法有四种:

  1. 直接写入
  2. 利用拾取器
  3. 利用表达式菜单
  4. 调用预设

 

怎样在编辑去写入表达式?

 

我们先从在编辑区直接输入达式开始说起。

在理解表达式的时候,不要把它想得太复杂,它只不过是个数值而已。为了学习的方便,先来试试单个的数值,比如Rotation,在编辑窗口输入:

20

那么返回的值就是20,这时候对象的角度变成20 。

输入:

20+70

返回值为90,角度变为90 。

表达式同样遵循我们小学时候学到的运算顺序,先乘除后加减,先括号内后括号外。
输入:

20+5*4

返回40 。

输入:

(20+10)*2

返回60 。

Tips:写好表达式后,按主键盘区的Enter是换行,按小键盘区的Enter则是立刻执行表达式。

写表达式带时候一定要切换到英文半角输入法,中文全角输入法的会报错且不易检查出来。

 

如何利用拾取器?

 

拾取器的使用很简单,就是单击拾取器按住不放,拖到要拾取的数值之上,就能够拾取到该数值:
AE表达式|02、怎样规范地书写表达式?-向安宇知识库

注意:光标位置在哪里,拾取到的值就会出现在哪里。

另外也可以直接拾取到合成/对象上,拾取到别的合成上,或者其他合成的某一数值之上。

这些我们后面用到的时候再来说,总之只要知道,拾取器很强大,很多时候直接拾取就可以。

小案例:

比如想要让一个小方块边缩小的时候边消失,怎样操作?

先给Scale缩放key帧,从100到0

然后点开透明度Opacity的表达式面板,按住拾取器图标不放,拖放到Scale这个英文单词上,或者拖放到Scale后面的数值上,这里两种方法结果一样,得到如下效果:
AE表达式|02、怎样规范地书写表达式?-向安宇知识库

如何利用表达式菜单?

 

AE表达式很多时候不需要自己来输入英文单词,除了上面的拾取器,还可以利用表达式菜单。

比如常用的wiggle表达式:
AE表达式|02、怎样规范地书写表达式?-向安宇知识库

点击小三角,打开表达式菜单,选择wiggle表达式就可以。

Tips:表达式菜单里,带“=”的参数属性,表示一般不用管,等号后面的数值就是默认值。

如wiggele表达式,后面的freq、amp都是需要自己定义的,而后面的三项参数,一般可以直接删掉,使用默认值。

 

怎样调用预设?

AE自带的预设里,都是表达式来控制的,选中对象,双击相关预设,就会在该效果需要写入表达式的属性上,自动写入表达式。

不过这里我们是学习表达式,这种方法不讨论。

Tips:
连按两下“E”键,能够显示该合成所有写了表达式的属性。

 

表达式怎样写才规范?

 

学习AE表达式,应该在一开始就形成良好的习惯,要让写的表达式整齐美观,其他的人也能够一眼看懂。

一个完整的表达式应该有三个部分:

  1. 给变量赋值
  2. 函数/计算
  3. 取值/输出

例如:

X=a;
Y=b;

Z=X+Y;

Z 

 

注释如下:(AE表达式基于JavaScript 语言, JavaScript 语言中,双斜杠“//”表示后面的内容是注释,不会纳入计算之中。)

X = a;
Y = b;//给变量赋值。一般将调试时候需要更改值的参数放在前面(这里a、b表示常数)。
  
Z = X + Y;//声明,函数,计算。这里是告诉AE该如何计算变量值。
  
Z //输出。这里是告诉AE运算结束后应该输出的值是哪个。

 

一些简单的表达式可以简单的写,比如上面的表达式,直接写成:

a+b

那么输出的值就是a+b的计算结果。

简单的表达式直接写成一行没有问题,而复杂的表达式虽然也可以写成这样一行,但会很繁琐导致容易出错,也不美观。

看一个实际的例子:

probability = 4;

r = Math.round(random(-probability+2,1));
v = clamp(r,0,1);
s = wiggle(10,100*v);

value = s

不引入变量,上面的表达式可以写成:

wiggle(10,clamp(Math.round(random(-2,1)),0,1)*100)

这种写法虽然短,可是很容易写错。括号的位置,逗号的位置等等,都可能导致表达式出错。

并且,写完后别人很难看懂。

另外很重要的一点就是,表达式不是写完就完的,实际应用中,需要不断调试。

比如上面一个表达式,第一种写法引入变量probability之后,只需要更改后面的数值,就能产生不同频率的效果。无需要在一堆表达式里去找需要更改的数值。

这种方法写好的表达式,还可以保存到文本,随时在别的地方应用,应用时候只需要将probability的值改到合适就可以。

必须要养成规范写脚本的习惯!
必须要养成规范写脚本的习惯!
必须要养成规范写脚本的习惯!

 

AE表达式基于js语言,要遵循js的写法规范:

1. 命名规范

1.1. 驼峰式命名法介绍:

驼峰式命名法由小(大)写字母开始,后续每个单词首字母都大写。

按照第一个字母是否大写,分为:

① Pascal Case 大驼峰式命名法:首字母大写。eg:StudentInfo、UserInfo、ProductInfo

② Camel Case 小驼峰式命名法:首字母小写。eg:studentInfo、userInfo、productInfo

1.2. 变量

  • 命名方法:小驼峰式命名法。
  • 命名规范:前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)
  • 命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。

1.3.函数

  • 命名方法:小驼峰式命名法。
  • 命名规范:前缀应当为动词。
  • 命名建议:可使用常见动词约定

2、空格的使用问题

    2.1、 函数的括号:function hello  (name)  {}
 看 (参数)的 "括号外左右"(  ) 是有空格的,"括号内name左右" 是没有空格的
    2.2 、关键字后需要空格:if  (condition) { ... }
if和()之间需要有空格
    2.3、通常运算符 ( = + - * / ) 前后需要添加空格。
    2.4、 逗号,前面不要留空格,后面留空格:var list = [1,  2,  3,  4]
 function greet  (name,  options)  { ... } 逗号前面不留后面留空格

3.代码缩进

通常使用 4 个空格符号来缩进代码块。

4.语句规则

4.1. 简单语句的通用规则:

  • 一条语句通常以分号作为结束符。

4.2. 复杂语句的通用规则:

  • 将左花括号放在第一行的结尾。
  • 左花括号前添加一空格。
  • 将右花括号独立放在一行。
  • 不要以分号结束一个复杂的声明。

5. 每行代码字符小于 80

为了便于阅读每行字符建议小于数 80 个。

6. 乘以负数打上括号

AE里面常常在表达式后乘以负1,将运动方向反过来,虽然*-1 和*(-1)效果一样,但是还是应该打上括号。

7.注释

7.1. 单行注释

说明:单行注释以两个斜线开始,以行尾结束。

语法:// 这是单行注释

使用方式:

① 单独一行://(双斜线)与注释文字之间保留一个空格。

② 在代码后面添加注释://(双斜线)与代码之间保留一个空格,并且//(双斜线)与注释文字之间保留一个空格。

③ 注释代码://(双斜线)与代码之间保留一个空格。

7.2 多行注释(ae里一般用不到)

说明:以/*开头,*/结尾

语法:/* 注释说明 */

使用方法:

① 若开始(/*)和结束(*/)都在一行,推荐采用单行注释。

② 若至少三行注释时,第一行为/*,最后行为*/,其他行以*开始,并且注释文字与*保留一个空格。

7.3 函数(方法)注释(ae里一般用不到)

说明:函数(方法)注释也是多行注释的一种,但是包含了特殊的注释要求。

语法:

/**
* 函数说明
* @关键字
*/

8. 不同段落间用空行隔开

不同段落间应该用空行隔开。

给变量赋值后空行,然后写函数声明。

AE表达式最后一行是定义输出值,这行应该空行隔开,单独成行。

< 返回目录

AE表达式
8
AE表达式|01、这个教程是个啥玩意儿?
上一篇
AE表达式|03、如何让一个小方块从左运动到右?@ time
下一篇

评论 (1)

登录后可发布~
立即登录
  • O.0

    Good!

    7 年前

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢

聚合文章

1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
克丽丝是谁?(人物设定1.0)
AIP克丽丝的构想
wordpress也要拥抱AI

近期评论

不同意知识过时这么快,数学公式几百年都没变啊
—— Baron von Laughsalot 2 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
这学习方法太适合我这种记性差的了,必须追更!
—— 狂血战士 2 月前 AIP克丽丝的构想
数字人做语言教学太香了,求Anni快出实操指南!
—— 贪吃小熊 2 月前 Anni搞钱系列:普通人用AI,到底能做起来什么副业?
想问作者会开线下课吗?想带孩子去听听
—— 秋分桂落 2 月前 1.我将深入研究如何提升学习力,以及如何用AI提升学习效率
想问下这个AI工具对服务器配置要求高吗?
—— 狂喜的烟花 2 月前 wordpress也要拥抱AI

猜你喜欢

AE表达式|利用Math.round,random,clamp函数表达“可能性随机”

AE表达式|利用Math.round,random,clamp函数表达“可能性随机”

2018-02-01 9:35:42
4,877 0 18
AE表达式|03、如何让一个小方块从左运动到右?@ time

AE表达式|03、如何让一个小方块从左运动到右?@ time

2018-07-06 17:11:39
5,301 2 2
AE表达式|32、如何将表达式链接到外部文件或JSON文件?

AE表达式|32、如何将表达式链接到外部文件或JSON文件?

2018-10-22 13:46:28
2,941 0 0
AE表达式|35、怎样制作一个时间码?

AE表达式|35、怎样制作一个时间码?

2018-10-23 16:28:27
3,897 2 1
1 8

关于我:

想要读万卷书,行万里路,看万部电影。

推荐栏目:

视频论文 课程 后期制作 非虚构 照片 视频

特色专题:

专题汇总 宜看一侃 帧影帧画 重读文学史 青玉记
Copyright © 2016-2026 向安宇知识库. 鄂ICP备16005400号-1 鄂公网安备42050602000017号
  • 读书向
  • 学习向
    • AI工具
    • AI研究
    • 笔记
    • AIP:克丽丝AI日志
  • 创作向
    • 写作
    • 视听
    • 课程
  • 影视向
    • 创意策划
    • 前期拍摄
    • 后期制作
    • 影像实验
    • 影像设备
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 项目复盘
  • 折腾向
    • 穿越机
    • 户外
    • 代码
    • 手工
    • 书法
    • 篆刻
    • 绘画
  • 剪辑
  • 转场
  • 纪录片

向安宇

痴迷文字,醉心影像
447
文章
5
评论
325
喜欢