
TiXL 节点详解FluidFeedback —— 位移驱动型流体反馈效果实战指南【免费下载链接】t3TiXL is an open source software to create realtime motion graphics.项目地址: https://gitcode.com/GitHub_Trending/t3/t3导读FluidFeedback 是 TiXL 图像反馈feedback节点族中的代表性示例其核心思路是将上一帧输出与当前画面反复合成并叠加位移displacement扰动从而产生流动、融化、扩散等流体质感。本文以官方文档为主体结合仓库中的节点定义.cs、图结构.t3/.t3ui与示例工程完整解读该节点的 12 个输入参数、内部渲染链路与调参思路并给出与 AdvancedFeedback、AfterGlow2 等兄弟节点的选型建议帮助读者在实时视觉项目中快速落地。1. 节点定位它是什么解决什么问题FluidFeedback 属于 Lib.image.fx.feedback 反馈节点族。官方文档对其定位只有一句话An example of how feedback combined with displacement can lead to a variety of effects.即反馈 位移可以组合出多种效果。它的核心机理是帧间自反馈recursive feedback将上一步渲染结果写回一个循环缓冲区RenderTarget下一帧开始时把当前画面与该缓冲区内容再次合成在合成路径上插入位移Displace、模糊Blur与几何变换缩放/旋转/偏移每一帧的结果都会成为下一帧的输入由此积累出持续的流体运动感。这种结构非常适合实时视觉VJ、livecoding、生成艺术场景——同一段素材在不同参数下会演化出完全不同的质感这正是文档中a variety of effects的含义。2. 输入参数全解析含默认值与推荐调节范围文档给出的输入参数表共 12 项。下面结合 FluidFeedback.t3 中保存的默认值逐一说明其作用与调参方向参数名类型/相关性默认值作用说明CommandCommand必需null驱动节点执行的命令输入提供画面来源或渲染触发是整条反馈链的入口必须接入DisplacementSingle15.0位移强度。控制 Displace 节点的核心扰动幅度数值越大流体感越强过大则画面破碎ShadeSingle0.4着色/暗部强度。影响位移通道的明暗处理通常配合 Displacement 微调出层次感BlurRadiusSingle4.0模糊半径。作为 Blur 子节点的 Size控制反馈图像的软化程度越大越弥散SampleDistanceSingle-0.07位移采样距离。微调位移的取样偏移改变流动方向与细腻度TwistSingle140.0扭转强度。使位移场发生旋转扭曲是制造漩涡、卷曲效果的关键参数ZoomSingle1.002每帧缩放比例。默认 1.002 意味着反馈图像每帧略微放大产生缓慢向内的收缩/推进感RotateSingle0.0每帧旋转角度度。持续旋转反馈图像配合 Twist 可产生螺旋运动OffsetVector2(0, 0)反馈层的位置偏移。用于漂移、漂移路径动画DisplaceOffsetSingle0.06位移偏移量。整体平移位移场影响流动的起始相位ResetBooleanfalse重置反馈缓冲区。置为 true 时立即清空循环缓冲重新开始积累适合换段、切场景IsEnabledBooleantrue总开关。关闭后节点不再更新反馈循环默认值均来自 FluidFeedback.t3 的Inputs段输入槽的类型定义见 FluidFeedback.cs其中Command使用MultiInputSlot支持接入多个命令来源。3. 输出输出名类型说明ColorBufferT3.Core.DataTypes.Texture2D反馈循环最终合成的 2D 纹理可继续接入下游图像/视频/合成节点在 FluidFeedback.cs 中输出槽为SlotTexture2D其数据源是内部 RenderTarget 子节点的输出见下文第 4 节连接关系。4. 内部实现从 .t3 图结构还原反馈链路FluidFeedback 不是一行 shader而是一个由 13 个子节点组成的宏节点macro symbol。从 FluidFeedback.t3 的Children与Connections可以完整还原它的内部数据流这也是理解参数语义的关键。4.1 参与节点清单子节点作用Displace位移核心把Displacement × 0.01、Shade × 0.01、DisplaceOffset × 0.01、Twist接入其位移参数图像源来自 UseTextureReference引用循环缓冲区纹理Blur模糊BlurRadius接入其 Size 输入内部默认 Samples30、Size1.99Layer2d几何变换Zoom接入 Scale、Rotate接入旋转、Offset接入 Position默认 Scale0.998、Position(0, 0.003)、关闭深度测试与混合Execute执行控制接收 Command 输入与 Layer2d 的渲染内容DrawScreenQuad绘制全屏四边形作为反馈内容的一条分支Switch双路切换Index 决定使用绘制分支还是反馈分支RenderTarget反馈缓冲区默认开启 Clear、带深度缓冲、4x 多重采样负责承接与输出合成结果HasTimeChanged时间变化检测Mode1用于判断是否应推进反馈And逻辑与将IsEnabled与 HasTimeChanged 的结果合并BoolToInt ×2布尔转整数一个将 Resettrue→2转换一个将启用逻辑true→1/false→0转换共同驱动 Switch 的 IndexMultiply ×3缩放将各 Single 参数乘以 0.01 后送入 Displace便于用户用较大的数调节4.2 关键数据流依据 Connections 段还原位移参数链路Displacement → Multiply(×0.01) → Displace.DisplacementShade → Multiply(×0.01) → Displace.ShadeDisplaceOffset → Multiply(×0.01) → Displace.DisplacementOffsetTwist → Displace.Twist循环纹理经UseTextureReference → Displace.Image。反馈循环Displace 输出 → Layer2d(缩放/旋转/偏移) → Execute → Switch 分支2同时DrawScreenQuad → Switch 分支1RenderTarget接收 Switch 输出作为渲染内容其输出再作为ColorBuffer输出并经由 UseTextureReference 回到 Displace 形成自反馈闭环。开关/重置逻辑IsEnabled ∧ HasTimeChanged → BoolToInt → Switch.Indexfalse→0 走绘制分支true→1 走反馈分支Reset → BoolToInt(true→2) → Switch.Index强制切换到清屏绘制分支从而重置反馈积累。由此可以看出文档参数表中的每个参数都对应图内一个明确的子节点输入调节参数的本质是调节内部反馈链路的某个环节。4.3 界面分组线索从 FluidFeedback.t3ui 的InputUis可见官方在参数面板上对常用参数做了分组提示Displacement属于Feedback组Twist属于Movement组Offset增加了间距AddPaddingCommand标记为 Required必需。这提示了推荐的第一层调参顺序先调 Feedback 组定强度再调 Movement 组定运动。5. 实战调参从默认值出发的四种典型质感以默认值为基准FluidFeedback.t3可快速演化出不同风格温和熔蜡保持Displacement≈15、BlurRadius≈4将Zoom降到 1.0 附近并Rotate设为 0.010.1得到缓慢扩散、边缘软化的熔融感。漩涡扭曲大幅提高Twist如 300800配合正负SampleDistance调整流动方向画面出现卷曲与螺旋。漂移粒子感将Offset用时间曲线如正弦驱动让反馈层来回漂移配合中等Shade突出明暗层次。场景切换在新段落开始时把Reset触发为 true 一帧清空缓冲再关闭避免旧画面的残影污染新内容。6. 仓库中的真实使用案例FluidFeedback 在示例库中已有落地作品可直接作为参考模板FluidFireLogo.t3ui官方描述为SVG 线条动画与 FluidFeedback 结合模拟火焰燃烧——这是反馈制造流动能量感的典型示范。VJSpermZoomer.t3ui描述为Weird experiment with FluidFeedback effect展示了其在 VJ 场景下的实验性使用。FadingFaces.t3ui将 FluidFeedback 用于人脸/图像的渐变消散效果。这些示例均位于 Operators/examples/Symbols/user/pixtur 下可直接在编辑器中打开观察其参数接线方式。7. 与同族节点如何选型同目录下还有多个反馈节点选型建议如下节点特点适用场景FluidFeedback本文结构简单直观参数少反馈位移核心思路清晰快速出流体质感、学习反馈原理AdvancedFeedback在 FluidFeedback 基础上增加边缘检测DetectEdges、色相/饱和度/亮度偏移、限制亮部、边缘增强等参数并把反馈缓冲区稳定到有效数值范围避免过黑或过亮需要更强可控性与色彩处理的进阶使用参数差异见 AdvancedFeedback.mdAdvancedFeedback2基于 OKLab 色彩空间的改进版反馈色彩混合更自然注重色彩保真的高级反馈场景AfterGlow2面向运动图像的余辉残影效果与反馈类节点互补拖尾、光轨类效果详见 AfterGlow2.md三者的官方对照关系记录在反馈族目录 README.mdAdvancedFeedback 被描述为FluidFeedback 的更通用但更难控制的进阶版AdvancedFeedback2 则强调 OKLab 色彩空间。8. 小结FluidFeedback 以最少的参数封装了反馈 位移这一实时视觉中的经典范式循环缓冲RenderTarget 位移扰动Displace 软化Blur 几何变换Zoom/Rotate/Offset并通过 Reset/IsEnabled 完成生命周期控制。掌握它的内部图结构后读者可以在编辑器中打开 FluidFeedback.t3 直接观察/复制其反馈链路改造出属于自己的反馈效果结合文档参数表与默认值快速调出四种以上的视觉质感在需要更复杂控制时平滑迁移到 AdvancedFeedback 与 AdvancedFeedback2。本文中所有参数默认值、子节点构成与连接关系均取自仓库内的 FluidFeedback.t3、FluidFeedback.cs 与 FluidFeedback.t3ui 文件可自行打开核对。【免费下载链接】t3TiXL is an open source software to create realtime motion graphics.项目地址: https://gitcode.com/GitHub_Trending/t3/t3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考