技巧与窍门
技巧与窍门
UI 性能
尝试使用 PF_EventExtra 中的 PF_EO_ALWAYS_UPDATE
和 PF_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。