Skip to content

混合时间轴

我们知道,Text(文字演出)与 Animate(艺术演出)各自具有其执行顺序。

但有时候,我们希望两个时间轴可以配合进行,比如一个复杂的 「被惊吓」 场景:

  • [Text] 角色 A 文字演出。
  • [Animate] 播放阴森声效,角色 A 立绘疯狂晃动。
  • [Text] 动画结束后,角色 A 继续文字演出。

当混合时间轴时,我们将 动画时间轴定义为系统的主轴,而将文字时间轴视为依附其上的副轴。这一设计并非出于实现便利,而是源于视觉小说在叙事、交互与时间语义上的本质特性。你可以在这一章节的末尾,找到我们的 设计原则

@Todo

动画时间轴描述的是一个连续且可预测的物理时间过程:立绘的移动、表情的过渡、镜头的推拉与旋转,都具有明确的持续时间和完成条件。相比之下,文字时间轴是离散的、以用户输入为驱动的叙事时间,其推进速度取决于点击、自动播放或跳过等不可预测的交互行为。因此,让动画等待文字,本质上等价于让一个确定系统依赖一个不确定事件,这将不可避免地引入时间歧义与状态失配。

从交互体验上看,视觉小说的玩家通常期望文字可以被立即显示或快速跳过,而动画仍然按照既定节奏继续播放。如果动画的推进受制于文字轴,则在快进、回放或自动播放等场景中,极易出现演出滞后、镜头突变或动画状态紊乱等问题,破坏叙事的连贯性。

基于上述原因,ShxNovel 肯定了如下时间约束原则:

文字时间轴可以等待动画时间轴,但动画时间轴永远不会等待文字时间轴。

文字事件可以显式地声明对某段动画完成的依赖,以保证叙事节奏与画面演出的同步;而动画则始终在其自身的时间语义中运行,不受用户交互直接阻塞。通过将动画作为主轴,我们得以在保证演出稳定性的同时,赋予文字系统充分的交互自由度。