首页系统综合问题08.AE表达式 对象Object详解,以及简化写法

08.AE表达式 对象Object详解,以及简化写法

时间2022-12-09 14:05:07发布分享专员分类系统综合问题浏览298

今天小编给各位分享property的知识,文中也会对其通过08.AE表达式 对象Object详解,以及简化写法和AE表达式的应用等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:

  • 08.AE表达式 对象Object详解,以及简化写法
  • AE表达式的应用
  • 求AE表达式语法详解
  • AE表达式
  • 一、08.AE表达式 对象Object详解,以及简化写法

    说明:AE一般指Adobe After Effects。

    06.AE表达式中的对象Object的使用 07.AE表达式中的对小数点位数的控制

    前面两节,我们介绍了一下对象Object的简单用法,这一节我们详细来解释一下。

    thisComp.layer("红色背景").transform.opacity.value.toFixed(0)

    我们来看一下这段代码的结构:

    那么我们对对象调用的规则作出如下归纳:

    调用对象中值的规则

    从左到右书写:调用属性的值时,首先按大小顺序写入,从最大对象容器到最小对象容器,直到从左到右到达属性位置。术语之间要有分隔:不同的术语之间需要用一个点操作符进行连接、分隔。对象的调用:合成对象(OBJECT COMP):合成对象是一个主要的对象,包括我们目前正在使用的所有内容。如果我们需要调用当前正在工作的这个合成,可以使用 thisComp 表示;如果我们想从另一个合成中得到值,我们必须写成 comp("name")。② 图层对象(OBJECT LAYER):这是实体层,如果我们调用我们正在处理的层,我们可以使用 thisLayer 表示;如果我们想要从另一个层获得值,我们必须写成 layer("name") 。注:comp("name") 或者 layer("name") 中的 "name" 表示对应合成或者图层的名称,并且必须使用英文引号引起来!③ 对象组(OBJECT GROUP):比如变换对象组包含图层的一些属性。④ 属性(PROPERTY):属性是最后的对象节点,属性包含值。

    合成对象、图层对象、属性组对象、属性其实都是相同的,都是一个包含某些内容的对象,因此无需特意区分它们!

    要查找值的位置,只需要在查看对象时遵循图层的层次结构即可。

    获取其他属性对象的值

    接下来,让我们练习获取一些其他属性对象的值。

    获取旋转属性的值

    我们可以这样写:

    thisComp.layer("红色背景").transform.rotation.value

    获取旋转属性的名称

    我们可以这样写:

    thisComp.layer("红色背景").transform.rotation.name

    请注意,如果你没有通过使用 .name 或 .value 来指定要从属性对象中获取什么值,那么默认情况下它将获取该属性的 value 值,也就是我们之前获取不透明度属性值时提到的简写。

    rotation 与 rotation.value 相同

    获取位置属性的值

    我们可以这样写:

    thisComp.layer("红色背景").transform.position.value

    位置属性有两个值,它是一个数组值,如果获取到具体的 x轴、y轴 的数值呢?我们可以使用 中括号[]操作符,使用索引值的方式获取:

    // 获取 x轴 数值thisComp.layer("红色背景").transform.position.value[0]// 获取 y轴 数值thisComp.layer("红色背景").transform.position.value[1]

    获取 x轴 数值

    获取 y轴 数值

    获取位置属性的名称

    我们可以这样写:

    thisComp.layer("红色背景").transform.position.name

    简化

    AE表达式允许我们使用一些简化的写法,如果不调用最大的容器对象或它包含的后面的容器对象,它将假定所需调用的对象是表达式所在的对象。怎么理解呢?就像前几节我们讲术语 value 时那样,当我们在表达式编辑器里面写上 value 时,它将认为我们要调用当前层,并且是当前属性的值。所以,当你没有指定时,表达式会默默地帮我们填补上前面调用这一部分。通过使用这种方式,我们可以简化表达式。

    下面我们以获取文本图层位置属性值为例,从最完整到最简化来依次编写一下表达式。

    ① 最完整的写法

    comp("合成 1").layer("文字内容").transform.position.value

    最完整的方式就是,我们使用 comp("name") 方式获取合成名称,使用 layer("name") 方式获取图层名称,因为 合成名称是“合成 1”,所以我们使用了 comp("合成 1"),又因为,我们操作的图层名称是 “文本内容”,所以我们使用了 layer("文字内容"),后面的大家就理解了。

    ② 开始简化

    thisComp.layer("文字内容").transform.position.value

    因为我们操作的是当前合成,所以可以直接将 comp("合成 1") 换成 thisComp;

    ③ 继续简化

    thisLayer.transform.position.value

    因为我们操作的是当前图层,所以可以直接将 thisComp 去掉,而 layer("文字内容") 也可以直接使用 thisLayer 代替;

    ④ 继续简化

    thisLayer.position.value

    因为当前图层下只有一个位置属性对象,所以我们可以直接调用当前图层的位置属性对象。

    ⑤ 继续简化

    transform.position.value

    因为我们本是调用的就是当前图层变换属性组下面的位置属性,所以我们可以直接将

    thisLayer 省略掉,使用变换属性对象调用。

    ⑥ 最后的简化

    position.value

    因为当前图层下只有1个变换属性组,且只有1个位置属性,我们又是在当前图层中调用,所以干脆连 transform 变换属性组对象也省略掉,便得到了最简单的写法,但这种写法只能在这种场景下使用,具体使用哪种调用方式,还是要依照具体情况来编写。

    总结一些简化的流程

    comp("合成 1").layer("文字内容").transform.position.valuethisComp.layer("文字内容").transform.position.valuethisLayer.transform.position.valuethisLayer.position.valuetransform.position.valueposition.value

    对象调用值的另一种写法

    我们原来一直使用 属性对象 后面加上 .value 的方式来获取值,其实还有另一种方式,使用 中括号[]操作符,类似于数组索引值的使用,但这种方式不是很常见,大家了解即可!

    object.value = object["value"]

    也就是 position.value 和 position["value"] 是一样的!

    以上便是本节全部内容,如果你对AE表达式感兴趣,请关注后续文章!

    一、AE表达式的应用

    按住alt键单击动画属性的秒表

    手动编辑表达式注意事项

    1编写表达式时,要注意大小写

    2表达式需要使用‘;’作为一条词句的分行

    3单词间的多余的空格将被忽略(字符串中的空格除外0

    4编辑区可上下拖动扩大编辑区范围

    添加表达式注释

    在词语句的前面添加//

    在注释语句首尾添加

    表达式控制

    效果-表达式控制

    效果和预设面板-表达式控制

    保存与调用表达式

    动画预设

    将含有表达式的动画保存为动画预设,在其工程文件中可以直接调用

    复制表达式和关键帧

    仅复制表达式

    选择原动画属性

    执行编辑-仅复制表达式‘然后粘贴

    表达式的语言

    AE使用的是JavaScript语言的标准内核语言,并且在其中内嵌诸如Layer(图层)、Comp(合成)、Footage(素材)和Camera(摄像机)之类的扩展对象

    methods(方法)属性

    图层属性中带有arguments(陈述)参数

    attribute(属性)属性

    图层属性中没有带有arguments(陈述)参数

    循环表达式

    loopOut(type="类型",numkeyframes=0)

    numkeyframes=0指循环的次数

    0为无限循环

    1为只循环一次,2为循环2次,

    不需要重复K帧,只需要设置开始、结束关键帧即可

    索引表达式

    index索引表达式:图层编号

    图层依次排列的编号

    (index-1)*20表示第一个图层在原来基础上旋转20°

    时间表达式

    time

    返回当前时间线所对应的时间,1秒处time=1,time的最小值为0,最大值为合成的时间长度

    抖动表达式

    wiggle(2,20)

    (2,20)指每秒抖动2次,每次抖动20个像素

    通常和摄像机的position(位移)和point of interest(聚焦点)一起使用,对摄像机的镜头进行调整

    二、求AE表达式语法详解

    这个 我也找了很长时间 如果你愿意的话 咱俩可以交流
    我英语看的懂 不过AE帮助文件里讲的并不多 你有相关的英文资料 希望能分享

    三、AE表达式

    AE 无法实现
    首先 AE 不是编程 软件 别外 文本图层 不是变量

    你问的问题 只适合 编程软件 不适合AE 不要用 编程软件的 思维来看待AE 这对AE来说 太憋屈了

    关于property的问题,通过《求AE表达式语法详解》、《AE表达式》等文章的解答希望已经帮助到您了!如您想了解更多关于property的相关信息,请到本站进行查找!

    爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

    property
    System Idle Process SYSTEM是什么进程? 如何安装薄壁轴承?