随头动进出视野的元素需要迟滞才不闪烁
别名: 显示迟滞 · 进出闪烁 · Schmitt 可见性
概念解释
世界锁定的标签贴在视野边上时,头一抖,它就在「看见」和「看不见」之间来回切。单阈值的显隐把这条边变成开关:进了就画,出了就删。可见性迟滞(visibility hysteresis)用两条线代替一条——要再往里走一段才出现,要再往外走一段才消失——让边缘元素在头的生理抖动里保持稳定,而不是跟着每一下微颤闪烁。闪的不是内容错了,是进出规则太瘦。
机制
头部在静止时仍有几度以内的生理性震颤和姿态估计噪声;视场边界又是一条几何锐边。内容中心一旦压在这条边上,每一帧的「在不在视野内」都会翻转,绘制、动画入场、空间音频的启用跟着翻转,外周对闪烁又特别敏感,于是边缘比中央吵得多。迟滞等价于施密特触发器:出现阈值比消失阈值更靠视野内侧,中间带里保持上一状态。时间上还可以加短延迟,避免快速扫过时每个路过的标签都播一遍入场。没有迟滞的淡入淡出不够——透明度在阈值附近仍会每帧被重开,只是闪得比较柔。
怎么研究
让人看向一个贴在可调偏心角上的标签,记录头静止和故意小幅摆头时标签的显隐次数、入场动画触发次数。
自变量:显隐阈值是否分离、分离的角度、有无时间延迟、入场动画时长。 因变量:每秒翻转次数、察觉到的闪烁评分、误触发入场的次数、漏显(头已经对准但仍未出现)。
眼-头同时记录可以区分「真的在扫过边界」和「噪声在翻阈值」。比较瞬时开关、仅淡入淡出、角度迟滞、角度加时间迟滞四种。
边界
内容必须在进入视野的当帧就出现(安全警报)时,出现阈值可以贴边,但消失仍应带迟滞,以免警报自己闪。完全头部锁定的元素不进出视野,迟滞无对象。视场极宽、标签远小于抖动幅度时,压在边界上的概率低,迟滞几乎测不到。迟滞过大则人已经盯着空处,标签还迟迟不来,会被当成丢失而不是防闪。追踪丢失造成的跳跃不能靠迟滞修好,那是另一条链。
怎么落地
- 世界锁定或身体锁定、会扫过视场边界的元素,用两条偏心角阈值,中间留出大于静止头抖的间隙。
- 入场动画只在「从不可见变为可见」且状态已稳定数十毫秒后播放,不要在阈值附近反复开播。
- 安全警报可以出现得快、消失得慢,两条阈值允许不对称。
- 验证:把一个标签停在视野边上,头尽量不动十秒,再小幅左右摆。标签若在闪或入场音反复响,迟滞不够;若对准中心后仍要等很久才出现,迟滞过大。