Ae:表达式应用基础

news/2024/5/5 9:45:25/文章来源:https://blog.csdn.net/qq_41176800/article/details/130073334

通过几个最常用的变量及函数(方法)来了解 Ae 表达式。

有关表达式语言语法基础,请参阅:

《Ae:表达式语法基础》

  ◆  ◆

时间相关

time

返回合成的当前时间值,以秒为单位。

比如,当处于 1 秒的时间点时,time 返回 1,2 秒的时间点时,则返回 2。

利用 time 可以做出一些随时间变化的动画效果。

//在旋转属性建立表达式,即可实现 1 秒钟转 360° 的动画。
time*360

95a0f496f0f45b261db0dff8dd2ad5d6.gif

sourceRectAtTime(t, includeExtents)

本方法适用于形状图层和文本图层,返回当前时间下具有四个属性的 JavaScript 对象:[上边界 top、左边界 left、宽度 width、高度 height]。

//为参数化矩形形状图层的形状路径的“大小”属性添加表达式
x = thisComp.layer("MEDIATEA").sourceRectAtTime().width;
[x,value[1]]
//当使用文本动画制作工具添加“字符间距”或“缩放”等关键帧动画时,形状始终保持与文字同宽

986db48b6da684b486fdc7bcb2985737.gif

  ◆  ◆

图层相关

index 

用来获取图层的序号,等价于 thisLayer.index 。

//为 3D 文字图层的 Z 位置属性添加表达式
transform.zPosition + (index - 1 )
//复制多个图层后,文字有“挤出”的假 3D 效果

5cc2a825f6d2907b63882716b1f93691.png

//为图层的旋转属性添加表达式
transform.rotation + (index-1)*30
//复制图层后,每个图层依次多旋转 30 度

fac9d68fd092ed8b90369b299f3585e5.gif

  ◆  ◆

属性值相关

value

获取当前时间的属性值。

//为文本图层的“源文本”添加表达式//显示“小球”图层的“位置”属性的属性名和属性值
x= thisComp.layer("小球").transform.position; 
x.name + ':' + [Math.round(x.value[0]),Math.round(x.value[1])].toString()

位置属性的值是一个数组,value[0] 代表 X 轴的值,value[1] 代表 Y 轴的值。

数组对象后面可跟下标(索引号)来获得其中第几个元素的值。

比如,[10,20,30][1] 将返回 20,因为数组元素的下标是从 0 开始的。

valueAtTime( t )

返回属性在指定时间 t 的值。

参数 t,以秒为单位。

比如,写成 time - x 的形式,可用于实现延迟错帧动画。

//为一根钟摆的形状图层设置“旋转”关键帧动画,并为“旋转”属性添加表达式
valueAtTime(time - index/10)
//复制多次形状图层,即可产生非常有规律的钟摆动画

061a4426ea05d046658bf6a2ae0870f9.gif

  ◆  ◆

摆动相关

wiggle(freq, amp, octaves, amp_mult, t)

返回随机摆动(抖动)的属性值(数值或数组)。

一般来说,使用前两个参数就够用了,即:

wiggle(freq, amp)

参数 freq:每秒摆动的次数(频率)。

参数 amp:基于原属性值的正、负摆动幅度。

比如,旋转属性值为 100,当 amp 设为 50 时,旋转属性值将在 50 ~ 150 之间随机摆动。

wiggle 根据所在的属性返回对应类型的数据。

比如,在位置属性使用 wiggle ,则返回二维数组数据。

//添加“位置”属性表达式
wiggled = wiggle(5,50);
//仅在水平方向摆动,垂直方向使用原值[wiggled[0],position[1]]

例 1,为形状图层添加以下表达式。复制多个形状图层,以创建随机舞动的星形效果。

//形状图层的“位置”属性表达式
wiggle(2,300);//形状图层的“缩放”属性表达式
x = wiggle(2,20)[0];[x,x]//形状图层的“不透明度”属性表达式
wiggle(1,100)

99c46268d7a1a7f29a8f2e98b108d601.gif

例 2,如下所示,对文字图层 MEDIATEA 添加“填充”效果,并使颜色摆动。

//对“填充”效果中的“颜色”属性添加表达式
wiggle(3,30)

然后将线条形状图层的描边颜色链接到填充效果的颜色属性。

fba9db1671eb02d4584305dc3fe3e7ad.gif

  ◆  ◆

循环相关

循环函数使用的前提条件是必须有关键帧动画,循环相当于将已有的关键帧动画进行重复播放。

loopOut(type, numKeyframes)

从最后一个关键帧开始循环指定段直到图层的出点。

参数 type:循环类型。

包括:

cycle:重复运动,类似于 1234 1234... 的循环。

pingpong:往复运动,类似于 1234321... 的循环。

continue:持续最后的运动,类似于 1234 4444...的循环。

offset:阶梯式持续之前的运动,类似于 1234 5678...的循环。

参数 numKeyframes:有效的关键帧段数。

值为 0 时(默认),表示循环全部关键帧。为 n 时,表示循环倒数 n 段关键帧。当循环类型为 contiue 时,应删除此参数。

6ce4e9259769956fcd4fd7093edb2b57.gif

如以下动画所示,云朵使用了 continue 类型,太阳使用了 offset 类型,太阳光线使用了 cycle 类型,小树使用了 pingpong 类型。

73dc570eb76765b9e4ff399b6a7f145f.gif

loopIn(type, numKeyframes)

从图层的入点开始重复播放指定段,直到第一个关键帧。

参数使用与 loopOut 近似。

当第一个关键帧没有在图层入点时,可考虑使用 loopIn。

  ◆  ◆

表达式控制器相关

如果需要对表达式里的参数进行控制,或者添加基于参数的动画,一般需要通过表达式控制器来实现。

Ae菜单:效果/表达式控制

Expression Controls

比如,可以结合“滑块控制”来控制摆动的频率和幅度。

//为“空对象控制”图层添加两个“滑块控制”效果,并分别命名为“频率控制”和“幅度控制”
f = thisComp.layer("空对象控制").effect("频率控制")("滑块");
a = thisComp.layer("空对象控制").effect("幅度控制")("滑块");
wiggle(f,a)
//提示:还可对“滑块”设置关键帧,从而控制摆动的快慢。

请参阅:

《Ae 效果快速参考:表达式控制》

589df9d4367ac1a85ed662450eb6c71e.jpeg

“点赞有美意,赞赏是鼓励”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_284861.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文总结】针对操作系统级虚拟化的抽象资源攻击

介绍 这是一篇来自2021CCS的论文,作者有Nanzi Yang, Wenbo Shen, Jinku Li, Yutian Yang, Kangjie Lu, Jietao Xiao, Tianyu Zhou, Chenggang Qin, Wang Yu, Jianfeng Ma, Kui Ren。 概述 本文的贡献如下: 新的攻击面:作者揭示了一个影响操…

【从0学Python基础】Python的基础语法(一)

文章目录常量和表达式变量和类型变量的定义变量的使用变量的类型intfloatstrbool动态类型注释输入和输出输出输入运算符算数运算符关系运算符逻辑运算符赋值运算符其他常量和表达式 print(1 2 * 3)print是Python内置的一个函数,作用为输入打印到控制台形如1 2 * …

Leetcode完成所有工作的最短时间2

我的解法: 先排序,然后让能工作最多的工人去做最长时间的工作,最短工作的工人去做最短时间的工作 class Solution:def minimumTime(self, jobs: List[int], workers: List[int]) -> int:jobs.sort()workers.sort()max_time-1for pointer…

HDFS学习笔记 【Namenode/数据块管理】

说明 Namenode关于数据块管理主要做两方面的事情。 文件系统对应数据块 数据块对应数据节点 Block的数据结构 通过Block,BlockInfo,BlocksMap,replica等数据结构表示数据块。 Block 唯一标识一个数据块 包含有比较方法,通过blockId进行比较 BlockI…

前端自动化测试之葵花宝典

作者:京东零售 杜兴文 首先聊一下概念,Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法,它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。 Web 前端自动化测试的优点是可以提高测试效…

微服务+springcloud+springcloud alibaba学习笔记【基础知识+各个组件介绍+聚合父工程创建】(1/9)

微服务springcloudspringcloud alibaba学习笔记 1/91、微服务简介1.1 微服务的自动化部署(CI /CD)(持续集成 持续交付)1.2 服务集中化管理1.3 分布式架构1.4 熔断机制 Hystri2、SpringCloud 简介2.1 SpringCloud 版本对应关系2.2 SpringCloud…

Node.js安装与配置(详细步骤)

前言 本篇博文记录了Node.js安装与环境变量配置的详细步骤,旨在为将来再次配置Node.js时提供指导方法。 另外:Node.js版本请根据自身系统选择,安装位置、全局模块存放位置和环境变量应根据自身实际情况进行更改。 Node.js安装与配置 一、…

windows命令执行的几种绕过方法

windows命令执行的几种绕过方法介绍1、添加特殊符号2、定义变量3、切割字符串4、逻辑运算符在绕过中的作用5、利用for循环拼接命令介绍 反检测、反清理,是红队攻击中的重中之重,本文详细描述了几种windows执行命令的几种绕过手法。 1、添加特殊符号 w…

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

文章目录引言一、RequestMapping 注解介绍1.1 RequestMapping 是 post 还是 get 请求?1.2 RequestMapping 指定一种请求方式二、GetMapping三、PostMapping四、总结引言 前面我们讲到,学习 Spring MVC 需要掌握三个核心功能即连接,获取参数&…

webgl-attribute、uniform、varying三者的区别

通用js: let canvas document.getElementById(webgl) canvas.width window.innerWidth canvas.height window.innerHeight let ctx canvas.getContext(webgl) attribute: 范围: 只适用于vertexShader,将js代码中的数据传递给vertexShader。 使用方…

软考-套接字(scoket)

💤SocketSocket套接字:是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。将OSI模型中从传输层到物理层封装起来的抽象层,把网络协议隐藏在Socket抽象层中,只对使用者暴露API接口&#xff0c…

DDoS攻击实验笔记

DoS&DDoS简介 DoS(Denial of Service),拒绝服务攻击是通过一些方法影响服务的可用性,比如早期主要基于系统和应用程序的漏洞,只需要几个请求或数据包就能导致长时间的服务不可用,但易被入侵检测系统发现。 DDoS(Distributed D…

Mysql通过行表中的行数据筛选主表数据

有订单头表和订单行表。筛选出行表中包含某些商品的头表 文章目录1. 示例表test_ordertest_order_line2. 实现EXISTS(推荐)内联1. 示例表 test_order test_order_line 2. 实现 EXISTS(推荐) 优点: 使用内联,主表字段很多的情况下,需要写越…

人员跌倒识别检测系统 yolov7

人员跌倒识别检测系统通过PythonYOLO7网络模型算法,人员跌倒识别检测算法模型对现场画面中有人员倒地摔倒行为实时分析预警,发现则立即抓拍存档告警同步提醒后台值班人员及时处理。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队…

LabVIEW实现ST-Link自动烧录单片机

目录 1、添加CLI到系统环境变量中 2、查询ST-Link/V2烧录器信息 3、连接待烧录的MCU芯片 4、下载固件到Flash 5、可能会使用的命令 5.1、-Rst 5.2、-ME 5.3、-SE 6、封装好的LabVIEW库 在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具…

《华为机试》——查找两个字符串a,b中的最长公共子串

本期给大家带来的是 华为机试题库 关于 查找两个字符串a,b中的最长公共子串 的讲解。首先,我们还是先从题目入手进行分析思考!!! 题目如下 :👇 查找两个字符串a,b中的最长公共子串。若有多个,输…

正则化的基本认识

正则化(一) 拟合与欠拟合(二) 正则化的目的(三) 惩罚项(3.1)常用的惩罚项:(3.2)L-P范数:(3.3)L1与L2的选择:(一) 拟合与欠拟合 欠拟合: 是指测试级与训练集都…

IDEA集成Git、GitHub、Gitee

一、IDEA 集成 Git 1.1、配置 Git 忽略文件 为什么要忽略他们? 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 怎么忽略? 创建忽略规则文件 xxxx.ignore(前缀名随便起&#xff0c…

〖Python网络爬虫实战⑫〗- XPATH语法介绍

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费…

java 通过 spring 官网创建springboot项目

文章java简单一写一个springboot入门案例带大家用idea工具工具创建了一个springboot简单的小案例 但有时 我们idea如果连不上网 就会有点问题 我们可以采用另一种创建方式 但这里的前提肯定就是 你的计算机是要有网的 然后访问 https://spring.io/ 打开spring的官网 在 Project…