是否可以将所有自定义表达式保存在外部.jsx文件中,以便我可以从我的项目中调用它们?
例如,假设我有一个我经常使用的表达式,它将木偶工具点与空对象的位置联系起来。我知道我可以将该表达式转换为可以采用两个参数的函数,但是我可以将其保存到自定义库中,以便我可以在项目中轻松地重用它吗?
现在,我只是将相同的代码从属性复制并粘贴到属性,我开始觉得有另一种方法可以更有效地执行此操作。
提前致谢!
答案 0 :(得分:2)
我成功地测试了这个,把它放在你的表达之上:
$.evalFile("/Users/myname/ae/functions.txt");
然后,您可以访问functions.txt文件中的任何功能。
请点击此处了解详情:https://forums.creativecow.net/readpost/227/29337
此方法的问题在于您仍需要为每个表达式包含额外的行。
无论如何,这是我的完整设置,以防万一:我的表达是:
$.evalFile("/Users/myname/ae/functions.txt");
var p1 = thisComp.layer("Null 1").transform.position;
var p2 = thisComp.layer("Null 4").transform.position;
var p = p2 - p1;
printPosition(p)
我的functions.txt文件包含以下内容:
function printPosition (p){
return " " + parseInt(p[0]) + " : " + parseInt(p[1])
}
答案 1 :(得分:-1)
我认为这是不可能的。 但是,通过将表达式保存为预设(通过将实际图层属性拖动到“效果和预设”窗口),可以完成很多工作。 请注意,您可以通过选择它们并使用动画 - >应用动画预设功能将预设应用于多个图层
希望有所帮助。