游戏知识推演:多段动画混合的权重归一化——姿态[8, 37, -16]的十二组混合(记录12)
界面上给出的混合权重有时只是相对强度,并不保证总和为一。若直接把各段姿态乘权重相加,可能造成整体幅度随权重总量变化。先说明归一化规则,才能解释混合结果。
下面是一份输入完整的独立练习。先明确规则和端点约定,再逐项推演;可以遮住计算结果自行记录,出现差异时从第一处不同查起。每项输入都是本例设定,不代表所有游戏采用同一套规则。
本例规则与输入
使用三个独立姿态的单个标量参数,权重均非负;总权重为正时按比例归一化后加权。三项全零时返回明确给定的默认值,不进行除零。不把本例直接用于角度或三维旋转。
三个姿态标量[8, 37, -16],全零默认13 [[0, 0, 0], [1, 0, 0], [0, 2, 0], [0, 0, 3], [0, 3, 3], [5, 0, 2], [4, 4, 1], [3, 5, 0], [6, 2, 5], [7, 2, 5], [8, 3, 1], [3, 5, 3]]
过程记录
权重[0, 0, 0]合计0:全零,返回默认值13。
权重[1, 0, 0]合计1:归一化系数['1', '0', '0'],加权结果8;未归一化直接相加会得到8。
权重[0, 2, 0]合计2:归一化系数['0', '1', '0'],加权结果37;未归一化直接相加会得到74。
权重[0, 0, 3]合计3:归一化系数['0', '0', '1'],加权结果-16;未归一化直接相加会得到-48。
权重[0, 3, 3]合计6:归一化系数['0', '1/2', '1/2'],加权结果21/2;未归一化直接相加会得到63。
权重[5, 0, 2]合计7:归一化系数['5/7', '0', '2/7'],加权结果8/7;未归一化直接相加会得到8。
权重[4, 4, 1]合计9:归一化系数['4/9', '4/9', '1/9'],加权结果164/9;未归一化直接相加会得到164。
权重[3, 5, 0]合计8:归一化系数['3/8', '5/8', '0'],加权结果209/8;未归一化直接相加会得到209。
权重[6, 2, 5]合计13:归一化系数['6/13', '2/13', '5/13'],加权结果42/13;未归一化直接相加会得到42。
权重[7, 2, 5]合计14:归一化系数['1/2', '1/7', '5/14'],加权结果25/7;未归一化直接相加会得到50。
权重[8, 3, 1]合计12:归一化系数['2/3', '1/4', '1/12'],加权结果53/4;未归一化直接相加会得到159。
权重[3, 5, 3]合计11:归一化系数['3/11', '5/11', '3/11'],加权结果161/11;未归一化直接相加会得到161。
全零情况走默认分支,其余组均按相对权重计算。
复核与实际应用
归一化系数总和应等于一,结果位于参与姿态值的最小值和最大值之间。把所有非零权重同乘一个正数,结果应保持;全零情况单独检查默认分支。
姿态参数是长度、透明度或其他标量时可以定义这种线性练习,但带环绕的角度和三维旋转有额外结构,不能把本例的算式直接当作通用混合方法。明确数据含义比只会代入公式更重要。
练习结束后,保留输入、每一步的中间状态和最终结果。可以仅修改一个边界输入,再比较变化来自哪条规则;不要同时改动多个条件后只凭最终画面判断。若实际作品表现不同,应先确认它使用的时间、坐标或结算约定,再决定是否属于异常。