跳转到内容

入口函数

Entry Point

After Effects 和效果插件之间的所有通信都是由 After Effects 发起的,并且都是通过主机(After Effects)调用一个单一的入口函数来实现的。

对于所有效果插件,入口函数必须具有以下签名:

PF_Err main (
PF_Cmd cmd,
PF_InData *in_data,
PF_OutData *out_data,
PF_ParamDef *params[],
PF_LayerDef *output,
void *extra)

上述入口函数的名称是 “main”,但它可以是 PiPL 资源 中指定的任何名称。

在每次调用入口函数之前,After Effects 会更新 PF_InData 和插件的参数数组 PF_ParamDef[](除非另有说明)。

插件从调用返回后,After Effects 会检查 PF_OutData 是否有变化,并在适当的情况下使用效果渲染的 PF_LayerDef


入口函数参数

参数用途
cmdAfter Effects 设置命令选择器 来告诉插件要做什么。
in_data关于应用程序状态的信息以及插件被告知要处理的数据。
还提供了许多接口和图像操作函数的指针。
out_data通过在 out_data 中设置字段将信息传递回 After Effects。
params插件在 in_data> current_time 时提供的参数数组。
params[0] 是输入图像(一个 PF_EffectWorld / PF_LayerDef),效果应应用于此图像。
这些值仅在特定选择器期间有效(这在选择器描述 中有说明)。
参数在此处详细讨论:PF_ParamDef
output输出图像,由效果插件渲染并传递回 After Effects。
仅在特定选择器期间有效。
extraextra 参数根据发送的命令或(在 PF_Cmd_EVENT 的情况下,事件类型)而变化。
主要用于事件管理和参数监督