外推路径在预测生效后需要用真实数据回退修正,产生轻微回抽
别名: 预测回滚 · 回抽 · prediction correction · ink snap-back
概念解释
预测段画出去之后,真实报点会到达,而且几乎一定和预测不完全重合。引擎必须用真路径替换假墨。替换在画面上表现为前端轻轻一抽、一跳或一段被覆盖——回抽。回抽是外推的必要收尾,不是额外的特效;没有这一步,假墨会永远留在错误位置上。
机制
每帧把预测层清掉,按最新真实点重画到笔尖估计位置,是最干净的回滚:假墨没有机会进入最终几何,回抽等于“上一帧多出来的那截消失”。若预测段已经被烘焙进笔画网格,就要做一次几何手术:删掉末端、接到新真实点,或把末端顶点挪过去。手术若在几帧里插值,回抽是平滑的收缩;若一帧到位,是一次跳变。人更常注意到的是方向反了的收缩——假墨冲过拐点,真点在拐点内侧,墨从外侧拽回来。幅度取决于上一帧外推错了多少,所以回抽和窗口长度绑定,但机制本身是替换,不是窗口。把回抽做成动画(墨自己缩)会把一次几何修正变成一次引人注意的运动;立刻切到真路径,误差同样大,却少一条“墨会动”的线索。最终笔画应以真实点为准,预测不得改变存盘几何。
怎么研究
在拐点前后逐帧标出预测层与真实层,量末端顶点从预测位置到真实位置的位移,以及位移是否跨越多帧。
自变量:回滚策略(丢层 / 改网格 / 插值收缩)、预测长度。 因变量:回抽像素、可见帧数、主观“墨在往回抽”、存盘笔画是否含预测点。
导出的矢量里若能找到只存在于预测层的顶点,就是烘焙错误。
边界
延迟极低、预测段只有一两像素时,回抽会被笔尖宽度盖住,策略差异看不见。把回抽和书写者自己的反向运笔(钩、回锋)叠在一起,人会分不清哪一段是自己写的。网络协同墨水若把预测段也广播出去,远端会看到回抽,或永远留下假墨。
怎么落地
- 预测只活在当帧的可丢弃层;提交、撤销、导出只用真实点。
- 需要改网格时优先一帧切到真路径,避免多帧收缩动画。
- 调试视图同时画预测层和真层,回抽发生时能看见替换而不是“墨自己活了”。
- 验证:急转一笔,慢放录屏,假墨应在真点到达的那一帧被真路径取代。导出后的路径不得含冲出拐点的那段。对比插值收缩,看主观回抽是否更明显。