游戏知识推演:平滑过渡曲线与线性进度的区别——-20至34的12段平滑过渡(记录03)
进度已经走过一半,不等于所有动画曲线都以同样速度走到那里。比较线性曲线和平滑起止曲线,有助于理解菜单展开为什么开头慢、中间快、末尾又慢。
下面是一份输入完整的独立练习。先明确规则和端点约定,再逐项推演;可以遮住计算结果自行记录,出现差异时从第一处不同查起。每项输入都是本例设定,不代表所有游戏采用同一套规则。
本例规则与输入
归一化时间限定在零至一之间;本例平滑值为三倍时间平方减二倍时间立方,位置为起点加行程乘平滑值。使用精确分数,不把显示舍入误差当成运动误差。
起点-20,终点34,时间等分12份
过程记录
时间0/12:平滑比例0,位置-20;线性位置-20,本次平滑位置减线性位置为0。
时间1/12:平滑比例17/864,位置-303/16;线性位置-31/2,本次平滑位置减线性位置为-55/16。
时间2/12:平滑比例2/27,位置-16;线性位置-11,本次平滑位置减线性位置为-5。
时间3/12:平滑比例5/32,位置-185/16;线性位置-13/2,本次平滑位置减线性位置为-81/16。
时间4/12:平滑比例7/27,位置-6;线性位置-2,本次平滑位置减线性位置为-4。
时间5/12:平滑比例325/864,位置5/16;线性位置5/2,本次平滑位置减线性位置为-35/16。
时间6/12:平滑比例1/2,位置7;线性位置7,本次平滑位置减线性位置为0。
时间7/12:平滑比例539/864,位置219/16;线性位置23/2,本次平滑位置减线性位置为35/16。
时间8/12:平滑比例20/27,位置20;线性位置16,本次平滑位置减线性位置为4。
时间9/12:平滑比例27/32,位置409/16;线性位置41/2,本次平滑位置减线性位置为81/16。
时间10/12:平滑比例25/27,位置30;线性位置25,本次平滑位置减线性位置为5。
时间11/12:平滑比例847/864,位置527/16;线性位置59/2,本次平滑位置减线性位置为55/16。
时间12/12:平滑比例1,位置34;线性位置34,本次平滑位置减线性位置为0。
两种曲线的起终点相同;前半段平滑进度不超过线性进度,后半段不低于线性进度。
复核与实际应用
核对两个端点、中央点和对称关系,再比较相邻采样的位移。平滑值应保持在零至一内;若只检查最后落点一致,会漏掉整个过程中不同的速度分布。
所谓平滑不是每个时刻都更慢,也不是总用时更短。这里总时间相同,只是速度分配不同。若要连续拼接多段动作,还需要检查拼接点的速度条件,而不只是位置是否接上。
练习结束后,保留输入、每一步的中间状态和最终结果。可以仅修改一个边界输入,再比较变化来自哪条规则;不要同时改动多个条件后只凭最终画面判断。若实际作品表现不同,应先确认它使用的时间、坐标或结算约定,再决定是否属于异常。