AE表达式:利用wiggle和Math.sin制作蝴蝶动画

2023-11-11

AE表达式:利用wiggle和Math.sin制作蝴蝶动画
B站链接:

AE表达式:B站讲解最详细的Math表达式和蝴蝶动画制作

课程准备

  • 蝴蝶AI素材

  • wiggle的用法,上次录了一节视频,链接

  • Math.sin三角函数 ,函数原型 :
    y = A ∗ s i n ( ω ∗ x + φ ) + b y = A*sin(\omega*x+\varphi)+b y=Asin(ωx+φ)+b
    各常数值对函数图像的影响:

    φ:决定波形与X轴位置关系或横向移动距离(左加右减)

    ω:决定周期

    A:决定峰值(即纵向拉伸压缩的倍数)

    b:表示波形在Y轴的位置关系或纵向移动距离(上加下减)

    在这里我们只关心A和ω就可以了。φ和b用不上。我们可以把这个函数转化成和wiggle相关的函数
    y = a m p ∗ s i n ( f r e q ∗ t ) y=amp*sin(freq*t) y=ampsin(freqt)
    其中amp是振幅 决定wiggle的最大峰值,freq是频率决定wiggle抖动的速度,t就是时间轴

image-20210510150706459

制作步骤

1 新建一个1920x1080的合成,名为butterfly

2 通过overlord把AI矢量图导进来

3 新建一个空对象,命名为controller

4 给空对象添加三个滑块,更改名称:amp(振幅),freq(频率),speed(速度)

amp 设置为100,freq设置为4,speed暂时不设置

5 给左右翅膀Y轴属性 添加表达式

//left
thisComp.layer("controller").effect("speed")("滑块");
//right
thisComp.layer("controller").effect("speed")("滑块")*(-1);

现在这样拖动speed滑块,可以看到左右翅膀可以挥动了。但是因为锚点问题效果不对,我们要调整下锚点。

6 接下来可以给speed滑块 添加关键帧,或者表达式。

  • 比如time*80 看看效果如何?

  • 问题来了,我们不需要speed的值一直上升,我们需要它来回循环,为了实现这个,我们需要引入三角函数Math.sin

  • 不要看到三角函数就害怕,很简单。sin( x ) = {-1-1},不管你x输入多少,它的值都在[-1,1]这个区间,为了直观的观察,我用ggb做了一个动态图。ggb三角函数动态图

  • 理解了sin函数后,我们来修改speed的表达式 Math.sin(time) 。引入这个表达式后,你会感觉看不出什么效果。这是因为它的值一直在-1 到1之间,太小了。所以我们要把振幅加大,继续修改

    amp = effect("amp")("滑块");
    amp*Math.sin(time)
    

    现在的效果很不错了。

蝴蝶挥动的速度还是慢了些? 现在我们把频率引入进来,改变它挥动的快慢。继续完善表达式

amp = effect("amp")("滑块");
freq = effect("freq")("滑块");
amp*Math.sin(freq*time)

蝴蝶挥动的效果就做好了,完美

7 新建一个主合成 main,把butterfly合成拉进来,打开3D开关,以及折叠开关

8 新建一个空对象 并且把空对象的3D开关打开

9 讲butterfly合成的位置属性绑定空对象的位置属性

表达式代码如下(直接用拾取器拖动即可)

thisComp.layer("空 2").transform.position

10 给空对象 位置属性K动画

播放下会发现蝴蝶的方向不对!我们修正下这个问题,操作如下

  1. 图层——变换——自动定向——沿路径定向
  2. 旋转下蝴蝶合成的方向,X轴旋转270°

image-20210510170026363

11 多复制几只蝴蝶

  • 直接复制法 ,每只蝴蝶都会重叠

  • 改进——加入wiggle,修改位置属性的表达式

    //这里需要注意 一定要减去value,因为wiggle函数返回的值包含了value
    thisComp.layer("空 2").transform.position + wiggle(1,200) - value;
    

12 错开复制合成的时间,导入一张背景图

完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AE表达式:利用wiggle和Math.sin制作蝴蝶动画 的相关文章

随机推荐

  • 压力式水位计是怎样安装的?

    1 检查水位计探头及数据电缆外观有无破损 2 采用悬吊的方式将压力式水位计探头及数据传输线缆放入水位测井或者测量容器的底部 若无淤泥的情况下 将传感器放到水位最低点 如有淤泥 要高于淤泥面 真是水位要做相应偏移 若现场换件较为复杂 将水位计
  • 我见过的星网锐捷

    作为一个外来者角度来讲 对星网锐捷是很了解的一家公司 公司整体管理在该领域中算是 自己认可比较好的 在这里最觉得棒的是行政 保安等单位 一个公司的体现很多投资人在意厕所干净 管理水平 在这里我觉得在于保安人员的整体协同 配合能力 锐捷 很多
  • 【Jetson-Nano】SD卡重新格式化

    文章目录 1 打开磁盘管理系统 2 打开powershell 以管理员身份运行 3 输入diskpart 并按回车键 4 输入 list disk 并按回车 5 输入select disk 并按下回车 6 输入clean 并回车 7 进行分
  • (休息几天)读曼昆之微观经济学——决策制定

    1取舍 权衡 一个人的精力有限 所以要学会分配自己的时间 比如多花一小时运动则会少花一小时学习 当这个道理用于社会服务时 则是大炮和黄油的道理 另外 社会面对的另一种权衡是效率与平等的关系 效率是指经济馅饼的大小 平等是指如何切分这个馅饼
  • 线性回归之随机梯度下降(sgd)

    梯度下降的原理 梯度下降 普通梯度下降bgd的方法简单暴力 但是调整速度比较慢 如果不想等所有数据都计算完了才开始调整w 而是计算完数据的一部分 batch size 后就立即调整w 说白了就是在训练过程中进行权重的更新 这样就成了随机梯度
  • Coursera 吴恩达DeepLearning.AI 第五课 sequence model 序列模型 第二周 Operations on word vectors - v2

    只做了计分部分 Operations on word vectors Welcome to your first assignment of this week Because word embeddings are very comput
  • Windows设置redis开启自动启动

    一 首先下载好你需要的Redis 这里就不多说了 可以百度的到的 二 安装完之后 运行redis是通过命令或者是直接运行redisServer的可执行文件 运行效果如下 三 设置Redis服务 由于上面虽然启动了redis 但是只要一关闭c
  • C++11之for循环的新用法

    C 使用如下方法遍历一个容器 include stdafx h include
  • Redis 数据结构与命令

    一 数据结构 Redis是典型的键值数据库 key一般是字符串 而value包含很多不同的数据类型 Value结构 Key结构 Redis的key允许有多个单词形成层级结构 多个单词之间用 隔开 格式为 项目名 业务名 类型 id 如果Va
  • 平滑滤波第二节,中值滤波法(数字图像处理大题复习 P4)

    文章目录 中值滤波 1 圈出模板像素 2 列出像素找到中值 3 填入结果 如果 不要滤波后就替换 中值滤波 1 圈出模板像素 我们先观察这个模板 这里圈出来了5个像素 那我们也在图像中对圈出5个像素 和均值滤波一样 第一个点的选取 2 列出
  • python用input输入list_python怎么用input函数输入一个列表

    python怎么用input函数输入一个列表 函数 的是 数字 没有任何 赋值 python怎么用input函数输入一个列表 易采站长站 站长之家为您整理了python怎么用input函数输入一个列表的相关内容 在Python3 0以后 键
  • JS中设置backgroun-position不成功的问题

    今天在做个人主页的时候 准备把background position设置一下 可是用了很多种方法都没有能够成功 最后才发现了问题 在这里记录一下 如果可以 也很开心能够和你分享我的经验 原生javascript 在原生的js中 大家都理解的
  • vscode不能预览plantuml文件报错的解决方法

    vscode不能预览plantuml文件报错的解决方法 vscode在预览plantuml文件时报错 安装了jre 8u231 dotnet sdk graphviz node终于解决 报错信息如下 扩展宿主意外终止或者 Error wri
  • 数据可视化——Davinci

    数据可视化 Davinci对比及功能使用 一 数据可视化 个人引用部分 1 有趣的意义 2 常规的意义 二 图形的内涵 1 图形类型 2 优秀可视化的特点 三 可视化需求分析 1 四个问题 2 三个沟通点 四 Davinci功能详解 1 可
  • 六度空间理论

    六度空间理论 什么是六度空间理论 Six Degrees of Separation 它是数学领域的一个猜想 名为Six Degrees of Separation 中文翻译包括以下几种 六度空间理论 六度分隔理论 六度分割理论或叫作小世界
  • 论文理解记录:Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration

    论文核心 论文剪枝对象是卷积核 与其他论文不同点在于作者思考了 norm wise 作为卷积核重要性判断的弊端 并提出了 FPGM 算法 该算法先计算出所有卷积核的几何中心 作者把卷积核当作多维空间中的点 然后找到距离几何中心近的卷积核 并
  • robot framework 使用五:CentOS上运行robot framework 并自动发送测试结果

    操作系统版本 centos 6 0 x86 64 想要在linux上运行robot framework的测试用例 需要安装以下工具和软件 1 安装python 2 7 6 首先python version 查看系统是否装有python 并且
  • jQuery操作编辑页面,span与input标签之间的随时转换

    1 input select textarea转span var switchToSpan function console log this attr id var cId this attr id 获取当前点击input的id cons
  • IP:127.0.0.1详解,与localhost区别

    127 0 0 1 127 0 0 1是回送地址 指本地机 一般用来测试使用 回送地址 127 x x x 是本机回送地址 Loopback Address 即主机IP堆栈内部的IP地址 主要用于网络软件测试以及本地机进程间通信 无论什么程
  • AE表达式:利用wiggle和Math.sin制作蝴蝶动画

    AE表达式 利用wiggle和Math sin制作蝴蝶动画 B站链接 AE表达式 B站讲解最详细的Math表达式和蝴蝶动画制作 课程准备 蝴蝶AI素材 wiggle的用法 上次录了一节视频 链接 Math sin三角函数 函数原型 y A