多镜头视觉连续性检查
把既有镜头方案交给本 Skill,可在拍摄、生成视频或分镜评审前发现“上一镜有、下一镜没了”的视觉断裂。它只检查用户提供的材料,不创作新故事、分镜或模型编译方案。
输入
提供镜头表(最多 100 行)及可用的人物/场景参考说明。每个镜头至少应有镜头编号、画面描述;涉及人物时应说明服装或显著状态,涉及空间时应说明位置或运动方向。可使用 fixtures/success-input.json 的结构。
工作方式
- 先确认镜头表,以及实际涉及的人物/场景对应参考是否齐全;镜头里出现“林岚坐在卧室”这类明确姓名和动作,即使没写服装也视为涉及人物;超过上限时要求按章节或场景分批。
- 读取每镜明确字段以及description/visual画面文字中的服装、地点、来光方向、道具颜色和光线色温,再与对应人物/场景参考核对,再比较相邻镜头可直接证实的状态冲突;一镜出现多位有姓名且有对应参考的人物时分别核对每人的服装,某人的变化说明不能豁免其他人的变化。人物姓名与“右手拿纸袋”这类持有动作相邻时,右手/左手不会并入姓名。人物与持有道具只在身份能够安全对齐时比较;有姓名标注的道具按持有人逐项对齐,不同人物的手机不会互相当作同一道具;多人同框但未标明持有人时要求补标识或人工确认,不把道具分配给所有人。人物真实换装说明同样适用于参考基线比较。
- 仅报告材料能支持的问题;每项给出证据镜头、严重度和保持故事不变的最小改动。严重度按影响排序:高表示人物身份/外观、道具状态或场景地点等会改变故事理解的冲突;中表示持有手侧、道具位置或来光方向/色温等可见衔接差异;低表示光线明暗等较轻的画面偏差。
- 没有必需材料时输出缺项,不补写未给出的剧情或视觉设定。
若正常变化已发生,请在当前镜头的相应文字中写明“放下纸袋”“把外套换成白色”“摘下围巾”“走进咖啡店”“转身后向左走”“开灯”等动作/变化,或加入 "transition": {"prop": "放下纸袋"} 这类说明;检查器会读取当前镜头的description、visual和transition中的真实变化交代;多人镜头的变化说明应点明对应人物,未署名说明不会豁免某个特定人物;过渡仅解释对应类别和被点名的道具,“放下纸袋”不能豁免手机位置、服装或光线变化,否定语句不作为已发生过渡。每镜必须有 id 和至少一项画面信息(character、prop、lighting、space、description 或 visual);涉及人物或场景时还须分别提供 references.character、references.scene。
使用检查脚本
把用户原镜头表保存为JSON,运行 python3 scripts/check_continuity.py input.json。references.character 可为“姓名:服装”的文本或按人物名分项的对象;身份可用每镜 character_id 对齐。明确姓名加常见动作可用于身份对齐;姓名没有对应人物参考时列为缺料。多个具名人物会按姓名分别匹配参考;缺少任一人物参考时列为缺料。代词不能安全对齐时补标识,不猜身份。构图中的“画面左侧/右侧”不是场景地点。脚本只保守识别明确的中文状态词,未识别描写应人工核对,不等于不存在穿帮。
输出
输出包含范围、缺项、连续性问题和最小改动建议的 JSON 或等价表格。问题按高、中、低严重度排序,再按 角色 / 道具 / 光线 / 空间 分类,注明相关镜头。可复制的成功交付见 fixtures/success-output.json,缺料交付见 fixtures/failure-output.json。
边界
一次仅处理单章节、单场景或短文镜头表,最多 100 行。它不替代新故事分镜制作,也不代替模型编译器;材料不完整时应先补料再检查。