角色姿态层可以表示对基础姿态的偏移,也可以表示朝目标姿态混合。两种层使用不同含义,把它们交换顺序往往会改变结果。
本篇用一组独立输入把规则展开为可重复核对的记录。先确认单位、编号及边界,再自行尝试推演,然后寻找与下面过程第一次不同的位置。所有结果只在这里写明的规则下成立,不能当作所有游戏的统一实现。
只计算一个虚构姿态数值。两个偏移分别乘各自权重后相加;覆盖层按自身权重在当前值与目标值之间混合。比较先加偏移再覆盖,与先覆盖再加相同偏移,两种结果均不做角度回绕或限幅。
[[23, [13, -5], ['1', '1/4'], -17, '3/4'], [29, [-12, 3], ['0', '1/4'], -12, '1'], [6, [-6, 5], ['1/4', '1/4'], -30, '1'], [-1, [-2, -5], ['1/4', '0'], 2, '1/4'], [22, [9, 0], ['1/2', '1/2'], -30, '1/4'], [6, [1, -6], ['1', '1/4'], -4, '1/2'], [27, [-10, -4], ['1', '1'], -15, '1'], [-5, [5, -10], ['0', '0'], 22, '1'], [-9, [-11, -13], ['0', '1'], 10, '0'], [-29, [-12, -4], ['1', '1'], 3, '3/4'], [-9, [4, -15], ['1', '0'], 22, '3/4'], [-21, [13, 1], ['0', '1/2'], 14, '1']]
基础23,偏移[13, -5]及权重['1', '1/4'],合计偏移47/4;目标-17、覆盖权重3/4,先偏移得-65/16,后偏移得19/4,后者减前者141/16。
基础29,偏移[-12, 3]及权重['0', '1/4'],合计偏移3/4;目标-12、覆盖权重1,先偏移得-12,后偏移得-45/4,后者减前者3/4。
基础6,偏移[-6, 5]及权重['1/4', '1/4'],合计偏移-1/4;目标-30、覆盖权重1,先偏移得-30,后偏移得-121/4,后者减前者-1/4。
基础-1,偏移[-2, -5]及权重['1/4', '0'],合计偏移-1/2;目标2、覆盖权重1/4,先偏移得-5/8,后偏移得-3/4,后者减前者-1/8。
基础22,偏移[9, 0]及权重['1/2', '1/2'],合计偏移9/2;目标-30、覆盖权重1/4,先偏移得99/8,后偏移得27/2,后者减前者9/8。
基础6,偏移[1, -6]及权重['1', '1/4'],合计偏移-1/2;目标-4、覆盖权重1/2,先偏移得3/4,后偏移得1/2,后者减前者-1/4。
基础27,偏移[-10, -4]及权重['1', '1'],合计偏移-14;目标-15、覆盖权重1,先偏移得-15,后偏移得-29,后者减前者-14。
基础-5,偏移[5, -10]及权重['0', '0'],合计偏移0;目标22、覆盖权重1,先偏移得22,后偏移得22,后者减前者0。
基础-9,偏移[-11, -13]及权重['0', '1'],合计偏移-13;目标10、覆盖权重0,先偏移得-22,后偏移得-22,后者减前者0。
基础-29,偏移[-12, -4]及权重['1', '1'],合计偏移-16;目标3、覆盖权重3/4,先偏移得-9,后偏移得-21,后者减前者-12。
基础-9,偏移[4, -15]及权重['1', '0'],合计偏移4;目标22、覆盖权重3/4,先偏移得61/4,后偏移得73/4,后者减前者3。
基础-21,偏移[13, 1]及权重['0', '1/2'],合计偏移1/2;目标14、覆盖权重1,先偏移得14,后偏移得29/2,后者减前者1/2。
十二组分别说明偏移含义和覆盖含义;差异由覆盖层对先前偏移的缩减产生。
展开两个顺序的表达式,先覆盖再加偏移的结果减去另一结果,应等于覆盖权重乘总偏移。覆盖权重为零或总偏移为零时两者相同,可作为边界检查。
这里的数值只是教学用姿态通道,不直接模拟三维骨骼旋转。多轴旋转可能还涉及表示方法和旋转顺序,不能把本例的一维结论照搬成完整动画系统。先弄清某层存的是绝对目标还是相对偏移。
练习时先保存原始输入及中间结果,再只改变一个条件观察差异。重点检查空状态、相同数值、恰好到达边界和最后一步。不要为了凑出相同的最终结果而忽略较早出现的偏差,过程和结论都应能由同一套规则解释。