用途
本技能用于构建长篇口播视频的视觉层,目标是让观众在第九分钟仍然保持空间方位感。它适用于任何带脚本的口播视频:新闻点评、单主题深度解析、对比、教程、清单式内容。
它要替代的失败模式是“场景思维”——每隔几秒就出现一张新图形,迫使观众不断重新理解画面。这种问题通常不归咎于单张图形,所以反馈往往只是模糊的“混乱”或“东西太多”,而不是具体缺陷。
核心原则
一个持续存在的世界
视频存在于单一空间中,并且永不重置。观众已经看过的一切仍留在原处,新内容被添加到其中,而不是替换它。一个元素一旦绘制,就永不被重绘、移动或重新标记。
空间语法需要在开始搭建前确定,并在整个时长内保持。参考实现中:从左到右指向结果,向上指向人(且是屏幕上唯一暖色),向下指向记录系统。观众在前两分钟学会这套语法,之后就能免费读取整支视频。语法只允许为表达意义而刻意打破一次。
摄像机就是剪辑
切到新图形每次都让观众失去方位;在一个稳定空间内移动则不会。工作分三种高度,并在相邻高度之间移动:世界(整个空间,用于定位、回报、提示“我们在这里”)、区域(正在讨论的子图,占绝大部分时长)、细节(单个元素,如数字、状态变化、决策)。
规则包括:以精确的世界窗口而非缩放系数命名取景;同一用途复用同一窗口;时长随移动距离变化;摄像机与全屏擦除顺序执行、不重叠;遮罩层先变不透明再移动摄像机;帧边缘 60px 内不放标签;同一主体上的两次连续移动会被读作故障,应合并为一个手势。
注意力即聚光灯
任何时刻恰好只有一个元素处于全亮,其余已绘制元素保持安静但可读。层级来自“活动与安静”的比值,而不是把一切调暗。状态目标亮度:活动描边与标签 200-235、仍相关的上下文 120-150、已用尽的元素 85-105,任何标签不低于 90。
实现上通过一个在旁白节拍处调用的 lit() 函数完成,涉及标签继承元素状态、完成后的道具淡出至 0 而非 0.3、事件按时间线顺序发出、每个元素每个窗口只有一个不透明度权威等细节。
开放式悬念是空间化的
不要说“我们稍后会回到这个”,而是在世界中留下一个可见的未完成物并返回它。机制包括:在钩子中植入;在每个边界重新展示(约两秒,是留存机制);可见地推进;用开头那张图收尾。悬念形状根据脚本选择:并行条目对应脊上的槽位、深度流程对应整条管线中的断链、层级对应向上搭建的堆栈、对比对应共享轴上的两列、新闻对应时间线或地图、教程对应未建成的幽灵架构。
纪律
没分到文字就不画
每个形状要么是带标签的元素、带标签元素之间的连接线、行进主体,要么是环境底。预算约为每节 20 个屏上词,不用句子,标签 1-2 个词。
让观众只需跟随一件事
用一个行进主体承载故事,其状态可见地变化(数据行填充、进度条移动、边框变色)。观众能通过只盯这一样东西看懂整节,且它永不瞬移,沿绘制的连接线匀速移动。
一套全局设计令牌
描边仅用 1.5 / 2.5 / 4 / 7;字号仅用 22 / 30 / 42 / 60 / 84;圆角仅用 10 / 22 / 40,始终为 superellipse(2)。五种颜色、五种固定含义、零装饰。暖色只表示有人参与。正文不用纯白,以免在暗背景上产生光晕。可用令牌 linter 让构建失败来把关。
运动
入场使用 cubic-bezier(0.16,1,0.3,1),出场快于入场,时长随质量变化,back.out 每节恰好一次。绝不使用交叉淡入淡出:全屏图层在已不透明的背景上以裁切方式进出,任一时刻一个像素要么是图形要么是素材。
构建约定
每节一个生成器脚本,只写自己的 HTML,编辑生成器而非生成结果;共享模块保持共享;组装前为 SVG defs 加命名空间,避免 url(#id) 解析到错配导致图形不绘制;时间对齐到词级转写的词首,提前 0.15-0.25 秒进入;审计超过约 1.5 秒无事件的死屏;剪辑中留白,修复过紧的句边界停顿时只插入 4-8 帧空气且不动词;插入边缘需尊重语音包络,用 40ms 等功率交叉淡入淡出而非硬接;烘焙时间意味着脚本化位移,任何时间线变更都要经过受审查的 AST/解析级变换并做差异复核;渲染使用 --workers 1。
关卡
提供一组校验命令(令牌、无交叉淡入、可读性、接缝跳变、死帧、出镜率、集成检查、npx hyperframes lint)。关卡不能替代亲眼看,且从未失败过的关卡不算关卡。运动平滑度必须在连续帧上验证,而非节拍帧;交付前对每个过渡窗口切出连续帧条并逐条查看。
适用场景与限制
适用于有脚本的口播视频视觉层设计与编辑修复。需要词级转写、生成器脚本与校验工具链。私有源视频不是必需的。具体收费、价格与平台信息资料未提供。