【AE脚本】如何优雅的使用空对象

介绍

名称:空对象的力量 (this Nulls Power)
作者:芊葉狼七

第一个主要功能:通过脚本创建的空对象,在素材箱里永远只有一个空对象;
第二个主要功能:支持把工程所有的空对象整理成一个空对象。

【AE脚本】如何优雅的使用空对象

视频

主要特点

新建空对象

【AE脚本】如何优雅的使用空对象
【AE脚本】如何优雅的使用空对象

需要先激活合成窗口,或者在素材箱选中合成,再点击“创建空对象”按钮才能够在合成内部添加空对象图层。另外添加的空对象图层名是 Null+随机的4位数字。
该操作可撤销,撤销名“x77 new Null Layer”。

整理空对象

【AE脚本】如何优雅的使用空对象

可直接点击“整理空对象”按钮来整理整个工程所有的空对象,整理过后素材箱只会剩下一个空对象。
该操作可撤销,撤销名“x77 Only One Null”。
由于涉及空对象的自动化替换与删除,虽然我们设定了撤销动作,用来保障工程安全。但如果你很担心工程被炸,要么手动备份工程,要么不使用该整理功能。

【AE脚本】如何优雅的使用空对象
【AE脚本】如何优雅的使用空对象
【AE脚本】如何优雅的使用空对象

修改&重置 空对象名

【AE脚本】如何优雅的使用空对象

点开脚本的空对象文本输入框,可输入任意内容,记得点击“修改”按钮来确认修改结果。
“重置”按钮则是恢复默认的“100×100 NULL”命名格式。

原先是有素材箱选中空对象点击“修改”按钮来同步空对象名的,但是细节处理方面太繁琐了,写了好几次依然不满意就暂时删掉该功能。

AE的设置是不同语言不同的配置,做不到同步配置,所以我们把空对象名保存在 "%AppData%\maderx77\nullName.txt" 这个文件里面,这样用户就能够跨版本甚至同版本不同语言,使用统一的源名称。

安装脚本

具有可视化界面的本体脚本:
[ri-alerts color="primary"]空对象的力量 By芊葉狼七.jsxbin[/ri-alerts]

把本体脚本放到AE安装目录的Scripts的子目录ScriptUI Panels里面,比如 C:\Program Files\Adobe\Adobe After Effects CC 2019\Support Files\Scripts\ScriptUI Panels

两个无界面纯快捷键操作的脚本:
[ri-alerts color="primary"]空对象的力量 无界面创建 By芊葉狼七.jsx
空对象的力量 无界面整理 By芊葉狼七.jsx[/ri-alerts]

由于脚本本身不支持全局快捷键,明显不能满足随时随地按快捷键的需求,因为我们针对这个需求,专门定制了无界面纯快捷键操作的脚本。
把它们放到AE安装目录的Scripts文件夹里面,比如 C:\Program Files\Adobe\Adobe After Effects CC 2019\Support Files\Scripts

快捷键操作

启动AE,打开设置快捷键的窗口,或者按 Ctrl+Alt+’ 快速打开窗口(‘是单引号 在ENTER键左侧),在搜索框输入脚本关键词找到这两个脚本,设定你喜欢的快捷键。

我们这边就假定无界面创建绑定Shift+Z,无界面整理绑定Shift+X,这两个快捷键都是无主未使用过的。

【AE脚本】如何优雅的使用空对象
【AE脚本】如何优雅的使用空对象
【AE脚本】如何优雅的使用空对象

另外貌似只能在激活的合成窗口按快捷键,所以按快捷键整理空对象时,记得先激活一个合成窗口。

其他

注意事项

如果遇到点击按钮没反应的情况,请注意查看 信息(info) 窗口的报错信息。

意见反馈

如果有BUG或者建议需要反馈,可去B站联系作者(芊葉狼七),或者在本贴留言。

作者语

若你使用后觉得这个脚本还不错,可以请作者喝一杯奶茶,你的奶茶将成为我们继续更新脚本和修复错误的动力!祝你使用愉快 :]

一杯奶茶请慢用

碎碎念

你是否遇到一部分脚本在满足你需求的同时,疯狂往素材箱塞一堆空对象;
你是否每次使用空对象时,不停的右键新建空对象,然后素材箱空对象的数量在疯狂增加。
具有强迫症的你,是否要保持素材箱仅一个空对象和一个纯色层(固态层)呢?

纯色层我们可以直接拽托下来使用,但是空对象呢?直接变成100*100的白色纯色层,这是无法忍受的。
修改不透明度?每次都要修改太麻烦了,而且从素材箱拖下来的空对象已经丢失了作为空对象的特性,只有新建空对象和复制已有的空对象,才是真正的空对象。
想保持素材箱只有一个空对象,起码要在素材箱选一个空对象,然后手动替换所有合成的空对象,这一点也不优雅,重复劳动能累死。

因此,我们开发了一个AE脚本,用来代替这种重复劳动,享受高效率的无缝创作,无需为琐事分心。

备注:感谢鹤梦提供的检索素材箱空对象思路

给TA充电
共{{data.count}}人
人已充电
AEAE开发脚本开发

【AE脚本】翻译小助手 | 一键获取效果所有属性

2022-4-6 14:12:28

AEAE开发脚本开发

用鼠伸缩放形状层,但不挤压描边宽度

2022-6-7 15:57:53

2 条回复 A文章作者 M管理员
  1. LoYoi

    大佬,问一下,原理是先创建一个空对象,其他创建的空对象都是引用吗?

    • 芊葉狼七

      原理是 先调用AE提供的创建空对象API,这时候它会在素材箱生成一个新的空对象,我们规定了唯一的空对象名字,如果素材箱存在该空对象,那么用AE提供的替换API对合成里面的空对象进行替换,这样素材箱新生成的空对象就闲置下来可以直接删除。如果素材箱不存在规定的空对象名,那么用AE提供的API对合成的空对象的源(也就是素材箱里面的)进行重命名。每次创建空对象,脚本都会完整遍历素材箱,通过一系列的筛选条件,选出真正的空对象,然后比对空对象名字。【app.project.item(i)】其中的i代表着素材箱所有素材包括文件夹的ID数字,是固定的,只要知道ID号就能定位该素材在素材箱的位置。app.project.activeItem指的是当前激活的合成窗口,等价于上面的app.project.item(i),用for遍历就行。

个人中心
今日签到
搜索