现象
非大剑角色(法杖、空手、四足动物)生成攻击时,模型会凭空长出一个宽面长条物,或做出该身体做不到的动作。
原因
prompt/prompts/attack.md 两节(side / front)都写着:
- 第 8 / 18 行:
the leading arm sweeping through one smooth downward crescent arc
- 第 9 / 19 行:
anything held in that hand ... with its broad side facing the viewer the whole way
leading arm + crescent arc + broad side 三者合起来断言了:双足、有手臂、手里握着一个有宽面的长条物。喂一个不满足这些前提的角色,模型为了调和图文矛盾,最省力的解法就是把缺的东西画出来。
master_prep.py 的 docstring 记着 #195 的教训:姿势描述里不写装备名词,否则空手角色会被凭空塞武器,而母版是整条链的身份来源,污染会带到该角色所有动作。
#195 只清掉了名词,没清掉形状先验。 同一个坑从名词层退到了形状层,更隐蔽但后果一样。
master_poses.md 的 attack 母版姿态(发力手拉到身后腰际的横挥蓄力)同样只对一类身体成立,对远程施法与四足扑咬在物理上不成立。
方向
不问「他拿的是什么武器」,问「这具身体怎么发力」。按运动拓扑分四支,而不是按武器名分支——后者既错在断言装备存在,也错在需要一个不存在的可靠武器识别器。
| 支 |
适用 |
要点 |
| sweep |
长条持物 |
横挥、下劈 |
| thrust |
短持物 / 空手 |
直出、戳刺、出拳 |
| project |
远程 |
身体前压、双臂前送到位、终态保持;不写接触弧 |
| lunge |
非双足 |
整体前扑、头部或前肢领先 |
约束(每支都要满足):
- 零装备名词、零形状名词;持物用存在无关措辞。
- 主语用「发力的那个部位」,不用「手臂」——四足角色没有 arm。
- 必须带身体整体位移词。i2v 强跟身体、弱跟持物,只写持物会让它自己乱飘。
- 默认支必须是
thrust,绝不能是 sweep——sweep 是唯一需要宽面长条物的一支,默认选它等于对所有未知角色断言持剑。
master_poses.md 的 attack 节需同步拆四支:母版姿态决定动作,提示词只能微调。
现象
非大剑角色(法杖、空手、四足动物)生成攻击时,模型会凭空长出一个宽面长条物,或做出该身体做不到的动作。
原因
prompt/prompts/attack.md两节(side / front)都写着:the leading arm sweeping through one smooth downward crescent arcanything held in that hand ... with its broad side facing the viewer the whole wayleading arm+crescent arc+broad side三者合起来断言了:双足、有手臂、手里握着一个有宽面的长条物。喂一个不满足这些前提的角色,模型为了调和图文矛盾,最省力的解法就是把缺的东西画出来。master_prep.py的 docstring 记着 #195 的教训:姿势描述里不写装备名词,否则空手角色会被凭空塞武器,而母版是整条链的身份来源,污染会带到该角色所有动作。#195 只清掉了名词,没清掉形状先验。 同一个坑从名词层退到了形状层,更隐蔽但后果一样。
master_poses.md的 attack 母版姿态(发力手拉到身后腰际的横挥蓄力)同样只对一类身体成立,对远程施法与四足扑咬在物理上不成立。方向
不问「他拿的是什么武器」,问「这具身体怎么发力」。按运动拓扑分四支,而不是按武器名分支——后者既错在断言装备存在,也错在需要一个不存在的可靠武器识别器。
约束(每支都要满足):
thrust,绝不能是sweep——sweep 是唯一需要宽面长条物的一支,默认选它等于对所有未知角色断言持剑。master_poses.md的 attack 节需同步拆四支:母版姿态决定动作,提示词只能微调。