跳转到内容

技巧与窍门

技巧与窍门

UI 性能

尝试使用 PF_EventExtra 中的 PF_EO_ALWAYS_UPDATEPF_EO_NEVER_UPDATE,以在响应速度和准确性之间找到一个合适的平衡点。

在 macOS 上,当发送自定义 UI 绘制事件时,前景色和背景色不会设置为白色和黑色。

这是设计上的考虑;当你直接在我们的上下文中绘制时,不需要更改背景颜色。


我的像素有多深?

在处理事件期间,无法确定正在处理的图层的位深度。

然而,你可以在序列数据中缓存最后已知的像素深度。

更好的做法是,让你的固定和浮点滑块参数依赖于其参数定义中的 PF_ValueDisplayFlags;如果你使用这个,它将使你的参数 UI 响应用户对像素显示值的偏好。

你也可以在 PF_Cmd_RENDER 期间检查输入世界的深度。


任意数据

任意数据参数是管理自定义 UI 的绝佳方式。

将状态、偏好和最后使用的项目信息存储在 arb 中,你将始终能够恢复它。

After Effects 使用比自定义 UI 更丰富的消息流来管理参数。


使用关键帧实现颜色采样的自定义 UI

插件可能希望从合成中的图层获取颜色。用户将使用与颜色参数关联的吸管或插件的自定义合成面板 UI 来选择点。

在点击事件期间,插件将点击的坐标转换为图层空间,并将该信息存储在序列数据中。然后它强制重新渲染,在此期间它可以访问与存储坐标对应的图层点的颜色。

插件将颜色值存储在序列数据中,并取消渲染,请求重新绘制受影响的参数。

最后,在绘制期间,插件使用 AEGP_KeyframeSuite 将其颜色参数流中添加适当的关键帧。

是的,这意味着效果需要 Cheating Effect Usage of AEGP Suites 并使用 AEGP API。