数据结构
本章节介绍插件为了实现功能,在Blender标准的对象上附加的各种元数据。这些描述主要针对开发者而非一般用户。
特效节点组
每个视觉特效是预先定义在一个.blend文件中的一个着色器节点组。为了让插件能够识别和操作它们,每个节点组都有一些必须包含的节点,并且节点组设置有一些自定义属性。
必要节点
| 名称 | 描述 |
|---|---|
| TfxRoot | 指向该特效作用的视频/图片媒体。 |
| TfxNext | 指向作用于同一媒体的上一个特效;如果是第一个特效,同TfxRoot。假如特效需要多套UV,可能存在TfxNext.001, TfxNext.002…… |
| TfxParam | 指向另一个节点组,该节点组中只有一个输出节点,其中定义了特效参数,会被插件显示在UI中供用户调节。 |
| TfxDriverObjLec | 表明该特效支持将场景中另一个物体的空间位置作为驱动器。 |
自定义属性
| 名称 | 描述 |
|---|---|
| tfxName | 显示在UI中的特效名称。 |
| tfxPromoted | 指定节点组中特定节点的特定属性,将它们显示在UI中供用户修改。 |
视频播放控制
视频播放控制器在最外层的特效节点组中添加自定义属性,利用它们构建表达式,作为驱动器插入到视频纹理节点的偏移量属性上。
此外,如果使用了全局管理器,插件也会对NLA轨道片段所绑定的动作数据块添加自定义属性。
关键帧控制
| 名称 | 描述 |
|---|---|
| tfxPlaybackControl | 该视频是否有视频控制器及其种类。 |
| tfxFrameDuration | 需要播放的视频的总帧数。 |
| tfxFirstFrame | 将原视频的哪一帧作为待播放的第一帧。 |
| tfxPlayhead | 显示在UI中的可供用户操作的播放进度。 |
全局管理器
| 名称 | 描述 |
|---|---|
| tfxStripStart | 缓存NLA片段在时间轴上的起始位置,以便在用户操作后进行对比。 |
| tfxStripEnd | 缓存NLA片段在时间轴上的结束位置,以便在用户操作后进行对比。 |
| tfxHideBefore | 是否在播放开始前隐藏视频。 |
| tfxHideAfter | 是否在播放完毕后隐藏视频。 |
| tfxInLength | 渐入特效的过渡帧数。 |
| tfxOutLength | 渐出特效的过渡帧数。 |