讲故事的手艺人 讲故事的手艺人
  • 创作向
    • 写作
      • 非虚构
      • 剧本
      • 小说
      • 文言
      • 读书
      • 随笔
    • 拍摄
      • 纪录片
      • 设计
      • 视频
      • 摄影
  • 策划向
    • 策划资料
    • 创意之道
    • 短视频研究
  • 技术向
    • AI
    • 前期拍摄
    • 后期制作
    • 原创教程
    • 影像实验
    • 影像设备
    • 穿越机
  • 艺术向
    • 研究学习
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 经验总结
  • 注册
  • 登录
首页 › 技术向 › 原创教程 › AE表达式|02、怎样规范地书写表达式?

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

向安宇
2018-07-02 22:49:55原创教程阅读 2,687
有哪些写入表达式的方法?

 

在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) 收藏(0)
AE表达式|01、这个教程是个啥玩意儿?
上一篇
AE表达式|03、如何让一个小方块从左运动到右?@ time
下一篇

请登录以参与评论

现在登录
所有评论(1)
  • O.0

    Good!

    6年前 广东省 回复
标签
720全景 ACES AE AE案例 AE表达式 Anyu翻译 CSC电影学院 fusion Hackintosh MG动画 ps教程 vlog wordpress 创意方法 剪辑 字幕 帧影帧画 抖音 摄影 文案 混剪 混音 灯光 看电影 磨皮 穿越机 纪录片 编剧 美术 美食 論語 调度 调色 达芬奇 重讀文學史 青玉记
室内360全景图的简单修图
2020-10-13 21:51:45
2,691 0 0
达芬奇:高频锐化
2020-03-21 22:41:26
3,879 0 3
3、ISO
2019-11-06 21:54:32
1,754 0 0
2、光圈和景深
2019-11-03 17:10:31
1,758 0 2
1 8
  • 8
  • 1
关于我:

想要读万卷书,行万里路,看万部电影。当过人民教师,做过策划师,入行影视做剪辑、导演。艺术是目的,技术是支撑,不断钻研,积聚梦想,同时分享干货。

推荐栏目:
视频论文 原创教程 后期制作 非虚构 照片 视频
特色专题:
专题汇总 宜看一侃 帧影帧画 美食摄影 重读文学史 青玉记
Copyright © 2016-2025 讲故事的手艺人. 鄂ICP备16005400号-1 鄂公网安备42050602000017号
  • 创作向
    • 写作
    • 拍摄
  • 策划向
    • 策划资料
    • 创意之道
    • 短视频研究
  • 技术向
    • AI
    • 前期拍摄
    • 后期制作
    • 原创教程
    • 影像实验
    • 影像设备
    • 穿越机
  • 艺术向
    • 研究学习
    • 大师镜头
    • 电影赏析
    • 视频论文
    • 经验总结
# 剪辑 # # 转场 # # 纪录片 #
向安宇
痴迷文字,醉心影像
420
文章
5
评论
325
喜欢