声明:我写的【AE 表达式】文章都是原创,包括文字和图片请不要以任何形式进行转载。


在 After Effects 中,表达式复用是比较麻烦的,因为表达式的作用域是当前属性,因此无法在其它位置引用,After Effects 用户指南中关于“保存和重用表达式”是需要复制然后粘贴到要使用的位置,当然,其中也提到“可以使用正常的 JavaScript 函数语法在表达式中定义自己的函数”,但是这样定义以后还是需要复制粘贴,依然只能在当前属性中复用。

https://helpx.adobe.com/cn/after-effects/using/expression-basics.html#save_and_reuse_expressions

要复用函数,就应该像网站前端引用 js 文件一样,所有网页共用一个 JavaScript 文件,当你修改函数的时候,所有引用自然生效。在 AE 中也是可以这样做的!

我们先来看看在表达式中使用自定义函数:

自定义函数

在源文本上自定义函数,如果不引用的话,会作为字符串输出。

未运行函数

运行以后才可以输出值。

运行函数以后

下面我们的任务就是要复用 hello() 这个函数。

首先,用记事本把函数代码粘贴进去;

// 自定义函数实例
function hello(){return "Hi there!"
}

贴个代码到记事本

文本文档 .txt 文件可以直接导入到 AE 中,但是在引用时只能作为文本引用,如果要让函数运行,则需要使用 eval() 方法运行代码。

导入文本文件
引用文本文件
访问源文本属性 .sourceText
没有调用 eval() 方法
调用 eval() 方法
eval(footage("myFunctions.jsx").sourceText);
hello()

还可以将 .txt 文件扩展名修改为 .jsx,这是 Adobe 专门的脚本文件类型,如果配合 IDE 来编写可以更加方便一些。

当然,也可以在 jsx 文件中写更多的函数然后调用。

更多函数实例

以对象方式来复用函数可以使用 .sourceData 属性调用,内容可以直接作为代码运行,这样可以省去 eval() 方法,并且可以在类中定义非函数属性。

没有定义名称的类

没有定义类名的需要在引用时定义类名,如果定义了类名,可以直接引用类名。

引用 myClass 中的函数
定义类名为 myClass
// 对象实例
// 定义类名的对象
myClass = {foo:"foo", // 属性bar:function bar(){return "bar"}, // bar()hello:function (){return "Hi there!"} // hello()
}

直接使用类名
// 定义类名以后可以直接引用
footage("myClass.jsx").sourceData
myClass.foo

引用类属性

类名建议在 jsx 文件里定义,因为引用时不容易出错,而且在引用时还可以覆盖定义。

多数情况,我更喜欢使用对象定义的方式,毕竟 eval() 在 JavaScript 中也不是值得推荐的方法。

eval()

[AE 表达式]函数复用技巧相关推荐

  1. 如何学好 AE 表达式?

    --你知道世界上最难的问题是什么吗? --就是这道题. 上面的只是一个梗,不过面对知乎里或者朋友的这种发问,我真的不知道怎么回答,从上个礼拜,我就开始琢磨这个事儿:如何讲明白如何学好 AE 表达式.问 ...

  2. ae制作的mg如何用到html,【教程】AE表达式常用的函数-制作MG动画必备

    我一开始接触AE是简单的套模板,后来慢慢学会自己调关键帧动画.感觉应用比较多的同样也让我很头疼的是运动.所以对表达式控制做了初步的学习.下面是一些常用的AE表达式 1.time time随着时间线的变 ...

  3. 【AE表达式】实用:查看 propertyGroup 索引

    关于 propertyGroup() 是什么,怎么用,不了解的同学先去看看官方文档: After Effects 中的表达式语言 (adobe.com) propertyGroup() 方法我会用的比 ...

  4. ae编程语言as_【微教程】从编程的思路学习AE表达式

    (这是一段引人入胜的开场白......),针对知道ae基础操作的群体的教学 授人以鱼不如授人以渔,学习表达式应该是从学会脚本语言入手,而不是通过记忆的方式记住每种效果的表达式语句.这里说的编程并非特指 ...

  5. 计算机二级vf中字符,计算机二级VFP常用函数使用技巧探讨

    摘要:掌握VFP常用函数使用技巧对学生非常重要,在二级考试中,函数使用频繁,贯穿整个考试,不论是表创建的索引建立.还是查询的字段构造以及表单控件的函数表示,都离不开函数的使用.为了让学生理清这部分思路 ...

  6. 【AE表达式】以插值方法代替关键帧

    在<[AE表达式]更好的动画时间控制>这篇文章中说过我比较不是很喜欢用关键帧来控制动画,这是有一定条件的.使用表达式控制动画更多的是强调复用性,比如你拿到我的工程文件,不管是显示的内容.尺 ...

  7. 【转载】AE 表达式精通大法

    本文是转自 设计树 的一篇文章,我对文章进行了重新排版,并标注了重点 原文地址 -- AE表达式精通大法 以下是正文部分: AE 表达式一直是大家学习 AE 过程中的一道坎,涉及代码网上教程资源又不多 ...

  8. ae绘图未指定错误怎么办_【教程】最全的ae表达式教学分享(实用!)表达式其实很简单...

    大部分人对ae表达式是望而却之,感觉很难,无从下手,网上的教程也是层次不齐,很难找到好的教程跟着学.于是呢,搜罗全网,整理了一份最全的最实用的ae表达式教学.也算是一个对自己的总结. 下面解决几个问题 ...

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

    AE表达式:利用wiggle和Math.sin制作蝴蝶动画 B站链接: AE表达式:B站讲解最详细的Math表达式和蝴蝶动画制作 课程准备 蝴蝶AI素材 wiggle的用法,上次录了一节视频,链接 M ...

最新文章

  1. C#图片处理常见方法性能比较
  2. android如何查看分区信息,android如何查看分区信息
  3. Object-c学习之路二(oc内存管理黄金法则1)
  4. c语言与硬件连接案例,实际LED硬件连接
  5. 具体数学:计算机科学基础:第2版
  6. python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...
  7. STM32工作笔记0066---待机唤醒实验-设备低功耗-M3H
  8. educoder第六章 关联挖掘 实验二:FP-growth
  9. JS调用ATL DLL
  10. confluence 制作流程图_Sketch制作交互流程图,哪种工具最高效?
  11. 虚拟机迁移Sphere vMotion
  12. ET199加密狗是如何复制
  13. Qt5.14.2下载与安装(保姆级图文教程)
  14. 云直播丁云鹏:最可怕的,是你低估生活的残酷
  15. mongo-java 实现使用and拼接多个or查询条件
  16. android消除锯齿原理分析
  17. c语言猜拳游戏石头剪刀布,模拟剪刀石头布猜拳游戏
  18. 系统时变性与因果性的判断
  19. Altium Designer快捷键
  20. 西南大学实验室考试自测题学习

热门文章

  1. C++利用WebBrowser创建自己的浏览器
  2. 运用计算机技术和语文教学,浅谈计算机技术在语文教学中的运用论文
  3. JAVA学习---从头开始WEEK03
  4. 【渝粤教育】广东开放大学 金融学 形成性考核 (37)
  5. 小程序源码:2022虎年全新头像框制作微信小程序源码下载-多玩法安装简单
  6. 手机验证码+Redis登录验证+token+登录拦截
  7. 编码:隐匿在计算机背后的语言(1-3章)
  8. 服务器配置torch1.4.0虚拟环境
  9. Helm基本介绍及快速入门
  10. 2018春招移动安全面经