FX 与表现节点
七个 FX 节点把玩法结果转换为玩家可见、可听的反馈:VFX、音效、动画、浮动文字、单位移动和镜头震动。
面向已经完成卡牌、状态或敌人行为,并需要补充反馈的图作者。FX 节点向战斗表现层发出反馈请求。它们让玩法结果变得可见,但不拥有结果本身。如果删除一张图里的 FX 节点会改变战斗数值,说明玩法逻辑放在了表现节点里。
Poison Arrow 结算后玩家看到的就是这样:敌人掉到 13/16,血条下多出一个 Poison 层数图标,能量计数变成 2/3。伤害数字、命中特效和毒雾,全部来自读取 Action 节点结果的 FX 节点。

这些节点在 Add Node 菜单中属于 FX。这一组覆盖视觉、音频、动画、浮动文字、单位移动和镜头反馈。
七个 FX 节点
| 节点 | 用途 | 输入与设置 | 输出 | 常见搭配 | 何时避免 |
|---|---|---|---|---|---|
| Play VFX | 在单位身上或世界坐标处生成 VFX prefab | Target、TargetSource、Anchor(OnUnit 或 AtPosition)、Position、Prefab、Lifetime | 无 | Deal Damage、Change Status、Spawn Unit | 反馈是声音或颜色闪烁 |
| Play Animation | 触发单位动画 | Target、TargetSource、Trigger | 无 | 敌人攻击、出牌命中节拍 | 动画没有走单位表现路由 |
| Play SFX | 播放一次性音频片段 | Clip、Volume | 无 | 抽牌、出牌、命中、状态、胜负反馈 | 声音该由音乐或环境音系统管理 |
| Flash Unit | 让单位闪烁某个颜色 | Target、TargetSource、Color、Duration | 无 | 受击反应、增益、减益、选中反馈 | 粒子或动画能传达更多信息 |
| Slide Unit | 把单位的视觉表现滑向指定位置,带缓动 | Target、TargetSource、To、Duration、Ease | 无 | 攻击前冲、击退、闪避节拍 | 想要永久换位或布局变化 |
| Show Floating Text | 在单位头上显示伤害、治疗、护甲、格挡或自定义文字 | Target、TargetSource、Kind、Content、Amount、Text、Color、UseCustomColor、IncludeSign、ScaleMultiplier、DurationMultiplier、Offset | 无 | Dealt、Changed 这类 Action 结果输出 | 数字是内部值,不该给玩家看 |
| Shake Camera | 摇晃战斗镜头 | Intensity、Duration | 无 | 重击、Boss 招式、AoE 攻击 | 小而频繁的效果会把战斗变成噪音 |
玩法优先,反馈其次
推荐模式只有三步:运行 Action 节点,读取它的结果输出,再按结果播放表现。护甲、Hook 和阻止效果都可能在"配置值"和"提交值"之间改动数字,只有结果输出带着提交后的值。
demo 状态 Poison 是这套接线的标准示例。Deal Damage 先提交这次毒伤,它的 Dealt 输出传给浮动文字的数字,同一个效果块再播毒雾 prefab 和一段减益音效:

| 玩法结果 | 表现 |
|---|---|
Deal Damage.Dealt | Kind 设为 Damage 的 Show Floating Text,然后 Play VFX |
Change HP.Changed 为正 | Kind 设为 Heal 的 Show Floating Text |
Change Armor.Changed 为正 | Kind 设为 Armor 的 Show Floating Text |
Change Status.Changed | 用状态专属 prefab 的 Play VFX |
Spawn Unit.Spawned | 锚定在新生成单位上的 Play VFX |
VFX 的锚定
Anchor 决定效果的挂载位置。效果属于某个单位时用 OnUnit:命中火花、治疗爆发、减益烟云。效果属于场地时用 AtPosition:地面标记、全屏爆发、单位出场前落在生成点的预警。
当图的目标是一个集合时,先判断一个共享效果是否足够清楚。每个目标都需要自己的效果时,把 FX 节点包进 Foreach,让每个元素单独播放一次。
浮动文字的内容
Show Floating Text 显示数字或标签,由 Content 控制。Amount 用于伤害、治疗、护甲、格挡和层数变化;Text 用于 Miss、Immune、Stunned、Draw 这类短标签。
IncludeSign 会给数字加正负号。治疗和护甲获得建议保持开启,"+5"比"5"读得快;标签或加了符号反而让人困惑的值就关掉。
音频说明
Play SFX 是图层面对一次性声音的请求:抽牌、出牌、命中、死亡、状态施加、UI 确认、战斗音效点缀。循环音乐和环境音属于场景级音频系统,不属于行为图。
缺失的 clip 不会阻塞玩法。状态变化照常执行,所以可以在音频制作之前完成并测试图,之后补上 clip 也不需要改图。
图发请求,资产负责表现
一个 FX 节点存储的是请求和资产引用:哪个 prefab、哪个 clip、哪个 trigger。视觉和听觉质量由这些资产决定。只要时机不变,可以把占位 prefab 换成成品、重调某个 clip、重新设计浮动文字样式,全程不需要打开行为图。
常见错误
| 错误 | 更好的做法 |
|---|---|
| 动作还没跑就先播 VFX | 先运行 Action 节点,再把它的结果输出接进表现 |
| 显示配置的伤害数值 | 显示 Deal Damage.Dealt |
| 集合只播一个 VFX,但每个目标都需要反馈 | 用 Foreach,逐元素播放 |
| 每次小命中都晃镜头 | 把 Shake Camera 留给高冲击时刻 |
| 把玩法规则编进表现时机 | 状态变化留在 Action 和 Hook 节点里;Wait 只管节奏 |