AEJoy —— 设计与技术的结合 Code&Art
文章平均质量分 73
1. 帮助设计师自动化工作,提升工作效率,告别加班,用代码实现更加复杂高级的效果,拓宽职场道路!
2. 帮助程序员成为技术美术或者脚本、插件开发者开辟新的副业收入!
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
ShaderJoy
醉心于研究一些特效(用代码来画画),曾涉猎过图形图像视频处理 、计算机视觉 、增强现实/虚拟现实等技术领域,就职于美图。
展开
-
AEJoy —— 5 个性感的 AE 表达式代码块
一、循环路径动画(Loop Path Animations)在如图所示的位置,黏贴以下表达式try { timeStart = thisProperty.key(1).time; ///< 获取指定关键帧的时间 duration = thisProperty.key(thisProperty.numKeys).time - timeStart; pingPong = false; ///< 如果你想要来回循环动画,请更改为 true ///原创 2021-09-14 03:51:38 · 1453 阅读 · 0 评论 -
AEJoy —— 程序员入门 AE 的一些知识点整理【不定时更新】
动态图静态图参考:ai如何分层导入ae 教程-AI矢量图巧妙导入AE及PS方法总结 矢量图形连续栅格化按钮去哪了原创 2020-09-04 03:22:32 · 1440 阅读 · 1 评论 -
AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【三】
继之前的这两篇文章 ——《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】》《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【二】》挖了坑之后,还剩两个表达式没介绍,那么这篇就负责把它们给填上。loopInDuration(type,duration) loopOutDuration(type,duration)loopOut1. cycleduraiton = 0从上图可知,小车每次都从第一帧的位置开始运动到最后一帧,同时速度也是从头...原创 2020-09-11 00:48:40 · 2824 阅读 · 1 评论 -
AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【二】
在前一篇文章《AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】》,我们讲解了 loopIn/loopOut 在不同 numKeyframes 的情况下的一些区别,但是 type 类型都是默认的 cycle,那么这篇文章则来辨析一下它们在不同 type 下会产生哪些变化。首先,我们来看一下 type 支持的几种类型的定义cycle(默认) 简单重复特定的关键帧片段 pingpong 前后往复地重复指定的关键帧片段 offset 重复特定的关键帧片段,但每.原创 2020-09-10 20:06:45 · 3087 阅读 · 0 评论 -
AEJoy —— 彻底搞懂 AE 各种 loop* 表达式【一】
通过阅读本文,您将收获以下知识点loopInloopOut以及它们各自在不同type和duration下的区别;本文默认您已经具备了 AE 中关键帧(KeyFrame)的基础概念,并且以下的演示都是基于 4 个关键帧(依次从左到右)小车,如下所示4 个关键帧,当前小车处在第三个关键帧的 Position我们先从比较简单loopOut开始(loopIn的思维稍稍有点反人类,但是转过弯来就容易理解了)原创 2020-09-10 15:41:30 · 13624 阅读 · 3 评论 -
Ae 中 Range Selector 和 Expression Selector 有什么区别?
设计/AE在 Adobe After Effects (AE) 中原创 2024-04-30 23:47:36 · 422 阅读 · 0 评论 -
AEJoy —— Ae 表达式报错:类“Group”中名为“Layer”的属性或方法缺失或不存在
设计/AE #Javascript以下是我在使用一个 Ae 插件时遇到的错误failure]合成 “” 中图层 5的属性 “缩放” 中第 1 行出现错误。类“Group”中名为“Layer”的属性或方法缺失或不存在。原创 2024-04-23 14:46:31 · 93 阅读 · 0 评论 -
AEJoy —— Ae 中 Camera 的 Focal Length 和 Focus Distance 有什么区别?
主要负责控制摄像机的 视角宽度、空间透视感 以及对 景深深浅 的间接影响。则具体定义了场景中 清晰对焦 的区域,直接决定了景深的表现。这两项参数协同工作,共同塑造三维合成场景的空间感知、透视关系以及视觉焦点,是进行深度合成和视觉叙事的关键工具。原创 2024-04-16 20:48:34 · 184 阅读 · 0 评论 -
AEJoy —— 为什么有的 Ae 插件安装在不同目录,有什么区别?
将插件安装在“”目录下,意味着它是为 Adobe Creative Cloud 应用程序提供 UI 扩展和工作流程辅助的 CEP 扩展。而安装在“”目录下的则是传统的内核插件,直接提供视觉特效和图像处理功能。两者在功能定位、交互方式以及适用范围上存在显著区别。原创 2024-04-15 15:12:45 · 89 阅读 · 0 评论 -
AEJoy —— 最受欢迎的 5 个 Ae 表达方式
NOTE] 原文作者我意识到表达式可能令人生畏,有些人宁愿复制粘贴有用的代码,而不愿学习这门语言。对此我完全理解。因此,我想与您分享我的。这些是我几乎在每个项目中都会使用的表达式,我认为它们极大地提升了工作流程。原创 2024-04-13 21:55:49 · 60 阅读 · 0 评论 -
AEJoy —— Ae 表达式中 toComp 是什么意思,一般用在什么情况?
设计/AE #Javascript在 Adobe After Effects(简称AE)中,toComp是一个表达式函数,它的主要作用是将图层上某个点的坐标从该图层的本地坐标系转换为合成(Composition,简称Comp)的全局坐标系。这个转换过程对于处理图层间的相对位置、动画同步、跟随效果等场景非常有用。toComp()其中,value是一个代表图层上某点位置的数组,通常包含[x, y]或[x, y, z]三个元素,分别对应于水平、垂直坐标以及(在3D空间中)深度坐标。当你调用或。原创 2024-04-13 16:35:35 · 215 阅读 · 0 评论 -
AEJoy —— 表达式之弹性(Elastic)模拟详解【JS】
效果图弹性(elastic)表达式代码与注释var p = 0.6; ///< 弹性期限var a = 140; ///< 弹性振幅/// @note 弹性函数function outElastic(t, b, c, d, a, p) { if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;原创 2021-12-07 10:42:48 · 1448 阅读 · 1 评论 -
AEJoy —— 表达式之弹跳(Bounce)模拟详解【JS】
效果图设计部分首先添加文字,并为该文字设置了三个关键帧位置,如下所示同时还通过 F9 增加了缓动效果然后在位置属性上应用如下表达式表达式与详解具体请看代码注释e = .7; ///< 衰减系数g = 5000;nMax = 9; ///< 最大跳跃次数n = 0;if (numKeys > 0) { n = nearestKey(time).index; if (key(n).time > time) n--;}if原创 2021-12-06 14:41:09 · 1378 阅读 · 0 评论 -
AEJoy —— 表达式之惯性模拟详解【JS】
效果图1. 惯性表达式:位置属性2. 惯性表达式:旋转属性3. 惯性表达式:缩放属性表达式代码与详解详见代码注释n = 0; ///< 用于保存当前时间(之前)临近的关键帧索引if (numKeys > 0) { /// @note 获取离当前时间最近的关键帧索引 n = nearestKey(time).index; /// @note 如果当前时间尚未达到该关键帧的时间, /// 则使用前一个关键帧的索引 if (key(原创 2021-12-06 14:40:04 · 1465 阅读 · 0 评论 -
AEJoy ——表达式之彩色文字尾随特效【JS】
效果图彩色尾随的效果加了马赛克的效果步骤一建立空对象制作基础动画,添加滑块控制器步骤二输入你想要的的文字(比如, AEJoy),并点击在位置属性 “秒表”图标,添加表达式步骤三为文字添加 valueAtTime 表达式,制作延时效果具体的表达式代码如下thisComp.layer("空对象").transform.position.valueAtTime(time - thisComp.layer("空对象").effect("Slider Control")("Slider"原创 2021-12-04 20:25:52 · 1267 阅读 · 0 评论 -
AEJoy —— 如何优化 GIF 文件
如何优化动画 GIF 的大小GIF 动画文件的大小是很容易变大的。检查你的 GIF 是否经过了优化是一个好的习惯,这样你的访问(读)者就不会一直等着看你的动画。它也将解救服务器带宽不被淹没????这里有一些提示来优化你的 GIF 动画,这里是你在上传你的 GIF 动画之前应该检查的列表。减少并裁剪宽度、高度 —— 你的 GIF 越大,它就越重。试着裁剪和减少宽度、高度。删除额外的帧 —— 在 PS 中打开你的 GIF 文件,检查是否有额外的帧或不必要的帧。通常有相同或多个帧可以删除或简化为一原创 2021-12-04 20:21:26 · 1224 阅读 · 0 评论 -
AEJoy —— 表达式之闪烁光标的打字机效果(二)【JS】
效果图打字机效果之红色闪烁的鼠标光标一旦您知道在哪里添加表达式,为键入动画的光标添加颜色实际上是很容易的。演示的打字机动画与闪烁的彩色光标下面下面我创建了 4 种方法来学习这个 After Effects 与彩色光标的打字效果。只要选择最适合你的。操作步骤视频教程AE 项目文件(在本节的末尾)带有彩色光标预设的打字机(本节结尾处)操作步骤创建一个新的合成选择 T (水平文字工具 CTRL+T )输入你的文本打开效果和预设窗口搜索滑块控件拖放滑块控件到文本层上将滑块控原创 2021-12-02 20:15:12 · 1992 阅读 · 0 评论 -
AEJoy —— 表达式之闪烁光标的打字机效果(一)【JS】
效果图前言在任何视频和运动图形项目中,您可能需要弄清楚如何使用光标制作一个打字机文本动画。你可能会惊讶地发现,这并不像看上去那么容易。出于这个原因,我决定写这个博客,这样就没有人需要花几个小时在 After Effects 中制作一个打字动画了。在这篇文章中,我将向你展示多种方法来制作有闪烁光标和没有闪烁光标的打字机效果动画????。基础-打字机效果预设让我们从初学者的基础开始。这是在 AE 中创建不带光标的打字机效果的最简单和最快的方法。按照这些步骤 —— 只需要 20 秒。创建一个新的合原创 2021-12-02 20:14:21 · 2464 阅读 · 1 评论 -
AEJoy —— 如何使用 AE 中的表达式控件预设(三)
颜色控件在这个例子中,创建 3 个形状图层,如下图所示现在创建一个空图层,这样所有的颜色控制都在一个点上。Command+option+shift+Y (MAC)Ctrl+Alt+Shift+Y (WIN)在空层上拖动颜色控件预设值 3 次,然后重命名它们,如下图所示让我们将每个图层的颜色链接到适当的颜色控件预设。完成了! 你现在可以改变你需要的图层的颜色。下拉菜单控件After Effects 添加了新的表达式控制效果Adobe 发布了一个新的表达式控件,名为下拉控件,仅原创 2021-12-01 06:53:04 · 1141 阅读 · 0 评论 -
AEJoy —— 如何使用 AE 中的表达式控件预设(二)
3D 点 Control3D 点控件效果允许您控制 3 轴 (x,y,z) 的 3D 层位置或锚点。将 3D 点控件效果拖放到3D图层上首先复制 3D 图层的位置属性,并将其粘贴到 3D 点控件中CTRL+C | Windows Command+C | MAC在你的图层位置按住 ALT ,点击秒表,然后链接你的 3D 点控件(见下图)完成了! 现在你可以从效果控制窗口控制图层的位置角度控件角度控件效果允许你控制一个 2D 层或一个空层的旋转,按照下面的步骤连接原创 2021-12-01 06:51:49 · 1143 阅读 · 0 评论 -
AEJoy —— 如何使用 AE 中的表达式控件预设(一)
前言如果你想让面对 After Effects 的工作更容易或改进你的工作流程,我会考虑使用表达式控件效果。无论你是否需要访问和快速编辑一个层/效果的一个或多个属性,或设置你的项目,让别人可以编辑而无需挖掘数千层,应该让表达式控件成为你的朋友。在这篇文章中,我将展示如何使用 After Effects 中提供的每个表达式控件效果。让我们从下面基本的开始。表达式控制是什么?表达式控件允许你管理图层的特定属性,它基本上就像一个快捷方式,允许您快速编辑,而不需要挖掘数千个图层属性。下面是你可以在 Af原创 2021-12-01 06:50:09 · 1398 阅读 · 0 评论 -
AEJoy ——表达式代码列表和示例(四)【代码详解】
bounce 表达式系列惯性 bounce 表达式这个反弹表达式允许在你的层位置有一个弹性的感觉,效果图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TFA2Glo-1638214074097)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7d3e186d50e74ee09ce97abe381beae9~tplv-k3u1fbpfcp-watermark.image?)]表达式amp = .1;freq原创 2021-11-30 03:28:30 · 1060 阅读 · 0 评论 -
AEJoy ——表达式代码列表和示例(三)【代码详解】
wiggle 表达式系列简单 wigglewiggle(5,10)第一个数字 5 定义了你的图层每秒摆动的时间。这种情况下它在 1 秒内移动 5 次第二个数字 10 定义了它上下移动的大小在这个情况下是 10 像素效果图表达式wiggle(8,120)开始&结束 wiggle 表达式用滑块控件你可以很容易地控制你的摆动开始和停止运动效果图表达式wiggle(thisComp.layer("Null 1").effect("Slider Control")("Slid原创 2021-11-30 03:27:31 · 1143 阅读 · 0 评论 -
AEJoy ——表达式代码列表和示例(二)【代码详解】
漂浮表达式系列简单漂浮层如果你想要一个上下浮动的层,模拟一个物体在空间或水中上下浮动,这是理想的。它基本上显示了一个物体的失重状态。你可以在图层位置和尺寸上使用该代码。效果图表达式amp = 250;freq = 1;y = amp*Math.sin(time*freq*Math.PI*2);value + [0,y,0]漂浮跳动层类似于上面的表达式,在这个上面你可以控制你层的移动和频率。效果图表达式ampY = 60;ampZ = 150;freqY = 0.5;f原创 2021-11-29 09:57:15 · 1152 阅读 · 0 评论 -
AEJoy ——表达式代码列表和示例(一)【代码详解】
Loop 表达式系列LoopIn()这个表达式允许在第一个关键帧之前循环任何内容。效果图表达式loopIn()LoopOut()这个表达式允许你在最后一个关键帧之后循环任何内容。效果图表达式loopOut()Ping pong这个表达式允许你来回循环 2 个关键帧,也被称为 boomerang 表达式。你可以使用 loopIn(“pingpong”) 或 loopOut(“pingpong”)效果图表达式loopOut("pingpong")Loop C原创 2021-11-29 09:56:25 · 1047 阅读 · 0 评论 -
AEJoy —— 使用 js 脚本创建非平滑抖动动画
前言有时你并不想让所有事情都一帆风顺。这里有一个国外大佬 Zack 分享的用来创建自动 “略带蹒跚” 关键帧的 javascript (ExtendScript)小脚本。它可以给 “太完美” 的关键帧一种非常自然的感觉。看起来打字效果也很不错。平滑抖动动画(脚本)效果图如紫色进度条所示:完整脚本代码/** * Takes a pair of keyframes and adds extra randomly stumbling, staggering keyframes between th原创 2021-11-28 16:39:36 · 1119 阅读 · 0 评论 -
AEJoy —— 表达式之如何制作滑块控制效果【JS】
效果图设计思路很简单,一共分三步1. 新建合成并排版导入制作(分层)好的美术素材加入合成并调整好各个图层的位置(可以利用右侧的对齐工具进行辅助)和尺寸(初始大小都是 100%)2. 新建空对象作为控制器为空对象添加滑动条控件设置滑动条的范围(本例有 9 个图层,所以是从 0 ~ 10)3. 编写表达式在各层的缩放属性上编写表达式(也可以把表达式应用在位置、旋转等属性上)注意:这里可以右键 “Copy Expression Only” 来拷贝表达式,然后再在各层的相应属性上原创 2021-11-28 16:38:20 · 1582 阅读 · 0 评论 -
AEJoy —— 27 个表达式实例(三)【JS】
保持描边宽度(Maintain Stroke Width)在缩放图层时保持描边宽度。应用于描边宽度属性value / length(toComp([0,0]), toComp([0.7071,0.7071])) || 0.001;文本层的最大宽度(Max Width Scale of Text Layer)通过缩放属性限制文本层的最大宽度maxW = effect("max-width")("Slider"); // pick whip to your slidersourceW = sour原创 2021-11-27 08:11:53 · 1339 阅读 · 1 评论 -
AEJoy —— 27 个表达式实例(二)【JS】
忽略父级的旋转(Ignore Parent Rotation)保持子节点的当前旋转,即使父节点旋转。value - parent.transform.rotation忽略父级的缩放(Ignore Parent Scale)当父层是另一层时,保持层的尺寸。应用于子层的缩放属性。s = [];parentScale = parent.transform.scale.value;for (i = 0; i < parentScale.length; i++){ s[i] = (par原创 2021-11-27 08:10:28 · 1169 阅读 · 1 评论 -
AEJoy —— 27 个表达式实例(一)【JS】
通过空对象控制形状层的位置 —— 像设置父级,但保持你的形状层的相对位置。使用滑块控件将关键帧动画延迟定义的秒数。像标记触发器一样工作,但更简单。附加一个 3D 图层的空对象 位置转到 2D 合成上。通过下拉菜单选择来控制图层的不透明度。将这个表达式应用到你想要控制的属性(比如。指定一定数量的帧,并换算为延迟时间。),并确保它引用了正确的控制层。使锚点始终在文本层垂直居中。,需要手动创建)来设置。到图层的开始,使其工作。获取当前日期的代码片段。原创 2021-11-27 08:09:19 · 1189 阅读 · 1 评论 -
AEJoy —— 表达式之速度和频率控制(七)【JS】
效果图线性关键帧积分表达式被用于将时间重映射的镜头提前,以跟随音频轨道的节拍其他应用程序事实证明,线性关键帧积分器在除了速度和频率控制以外的事情上也可以非常方便。例如,当你将音频转换为关键帧时,你会得到一堆线性关键帧。如果你对它应用线性关键帧积分器,你可以使用该结果在时间内去伴随着音频的 “节拍” 动画化任意数量的属性。时间重映射您可以使用线性关键帧积分器在每个节拍上加速时间重映射的剪辑。下面是代码的样子:spd = thisComp.layer("Audio Amplitude").effe原创 2021-11-26 11:19:54 · 1261 阅读 · 1 评论 -
AEJoy —— 表达式之速度和频率控制(六)【JS】
效果图将线性关键帧积分器应用于 wiggle() 的时间属性(而不是频率属性),生成平滑的频率斜坡。控制摆动(wiggle)速度当试图控制 wiggle() 函数的速度(实际上是频率)时,您将面临与本文前面示例完全相同的挑战。函数具有内置的频率和振幅参数。通常,您只需将这些参数设置为所需的值,然后保持它们不变。例如,你可以为旋转属性设置一个简单的每秒 5 次摆动,振幅为 10 ,如下所示:freq = 5;amp = 10; wiggle(freq,amp)这将给你如下图所示的摆动波形。原创 2021-11-26 11:19:12 · 1211 阅读 · 1 评论 -
AEJoy —— 表达式之速度和频率控制(五)【JS】
效果图这是由 Math.sin() 生成的平滑的、周期性的正弦波形利用线性关键帧积分器,实现了平滑的频率斜坡控制频率在表达式的世界中,通过使用内置的 JavaScript 三角函数 Math.sin( 和 Math.cos() 来创建循环或振荡运动并不罕见。它们能很好地产生平滑的、周期性的正弦波。如果你还记得 JavaScript 三角函数要求的是弧度而不是度,那么设置波的频率就很容易了,因为一个完整的振荡(360度)用 2*pi 弧度表示。这些三角函数产生振幅在 -1 和 +1 之间变化的波形原创 2021-11-26 11:18:09 · 1172 阅读 · 1 评论 -
AEJoy —— 三分钟了解 AE 相关的颜色空间和颜色管理
目标了解色彩空间和色彩管理器什么是颜色管理器色彩管理器(又称 “色彩管理系统” 或 “色彩管理解决方案” )是一种改变图像和视频的色彩空间的应用程序。在视觉特效制作中,许多颜色空间是根据数码电影相机、渲染 CG 、照片和哑光涂料等工具使用的。色彩空间的统一或转换是必要的。色彩空间转换是视觉特效制作中的一个重要过程。什么是颜色空间颜色空间是一种特定的颜色组织,其中颜色被表示为坐标。颜色模型颜色模型是用一些通道(如RGB、CMYK)描述颜色的抽象数学模型。虽然颜色模型和颜色空间不是一回事,但一些原创 2021-11-25 12:11:24 · 2673 阅读 · 0 评论 -
AEJoy —— 表达式之速度和频率控制(四)【JS】
线性关键帧积分器定格(Hold)关键帧可能在某些情况下,你宁愿使用定格关键帧来控制速度控件滑块。线性关键帧积分器表达式几乎是可行的,但并不完全可行。这里有一个微小的变化,使其适用于定格关键帧:spd = effect("Slider Control")("Slider");n = spd.numKeys;if (n > 0 && spd.key(1).time < time){ accum = spd.key(1).value*(spd.key(1).time -原创 2021-11-25 08:31:22 · 1171 阅读 · 1 评论 -
AEJoy —— 表达式之速度和频率控制(三)【JS】
效果图通过计算滑块控件曲线下的面积得到了很大的改进线性关键帧积分器这很有趣,但现在怎么办? 我们需要一个表达式来计算过去发生的所有曲线段的面积加上当前段的面积,直到当前时间。例如(使用之前的Slider Control 动画),在两秒钟内,我们期望表达式计算第一个片段(180 度)的面积加上第二个片段(360 度)的一半面积,到那时总共是 540 度。这里有一个表达可以完成这项工作:spd = effect("Slider Control")("Slider");n = spd.numKeys;原创 2021-11-25 08:30:31 · 1029 阅读 · 1 评论 -
AEJoy —— 表达式之速度和频率控制(二)【JS】
理解产生问题的原因学习如何解决问题的第一步是理解为什么显而易见的解决方案不起作用。问题的根源在于表达式没有记忆。在前面的示例中,表达式在每一帧检索速度控制滑块的当前值,并使用该值来计算当前旋转 —— 而不考虑滑块的以前值。如果滑块一直在它的当前值,结果(对于每一帧)是相同的。所以当滑块最终返回 0 时(例如,表达式将总旋转计算为 0),这显然不是我们想要的。我们的表达式需要计算由于滑块的所有先前值的累积旋转。然后,当滑块返回 0 时,表达式将计算旋转的总角度,而不是本身返回 0 。现在我们有了一个计划,但原创 2021-11-25 08:29:44 · 1125 阅读 · 0 评论 -
AEJoy —— 如何让你的 AE 插件 适应每通道 8,16,32 位颜色
在前一篇文章 AEJoy —— 开发第一个 After Effects 插件(一) 中,我实现了一个简单的 After Effects 插件。本文是对它的补充。什么是颜色(位)深度在计算机中,颜色被表示为数字。在 RGB 颜色系统中,颜色表示为 (R, G, B),如 (100,120,144) 或(0.5,0.2,0.7)。在灰度模式下,颜色表示为一个值,例如从 0 到 255 的整数或从 0.0 到 1.0 的浮点数。颜色位深度是每个值的分辨率。当颜色为每个通道 8 bpc(每通道位),R/G/B原创 2021-11-24 07:19:36 · 4041 阅读 · 0 评论 -
AEJoy —— 表达式之速度和频率控制(一)【JS】
效果图用关键帧的滑块控件控制旋转速度的失败尝试前言这似乎很简单。假设您已经根据全局属性 time 为 rotate 属性创建了一个表达式,它将生成一个非常平滑的旋转。而且已经添加了一个名为 spd 的变量来设置旋转速度。以下是表达式的样子,设置为 360 度每秒(旋转一圈):spd = 360;value + time*spd到目前为止还不错——它能按照预期工作(如果您想知道表达式的 value 用法,请参阅引用部分)。现在你决定想要能够控制旋转速度。你的想法是将变量 spd 连接到滑块控件原创 2021-11-21 09:22:00 · 1260 阅读 · 0 评论 -
AEJoy —— 表达式之模拟超越与反弹(五)【JS】
效果图2D 弹跳模拟,使用发射角度,初始速度,重力,弹性和摩擦应用于位置、旋转和缩放属性的反弹表达式反弹(Bounce)总览我们的最终目标是在关键帧运动结束时使用一个模拟反弹的表达式。为了理解弹跳模拟是如何工作的,从一个可能更熟悉的场景开始是很有用的 —— 一个弹射物在击中地面/地板时弹跳。为了简单起见,我们将它限制在二维空间内。当你发射一个 2D 弹丸时,有很多因素会起作用: 重力、物体的弹性、发射角度、初始速度,有时还有摩擦。模拟这个运动的表达式基本上必须将初始速度分解成 x 和 y 分量原创 2021-11-21 09:20:09 · 1047 阅读 · 0 评论