笔者一直认为骨骼这个名字不够形象
或者称为mesh变换采样加权点更适合,
这么一说想必读者们就能立刻明白骨骼动画是怎么回事。
定下根点节,然后每个字节点依次根据平移,旋转,算出变换矩阵,完成mesh中每个顶点
的坐标计算。
注意子节点的变换矩阵还是和父节点做个乘法,
原理很简单
比如,玩家控制解色做一个挥砍动作
角色的大臂绕着肩关节旋转,而小臂绕着肘关节旋转
那么所谓骨骼,实际就是肩与肘处安插两个采样点
mesh中大臂部分的变换矩阵绕着肩这个采样点旋转算出
而mesh中小臂部分的顶点则不但在绕肘关节采样点旋转矩阵,还要和大臂的变换矩阵相乘,才是最终的变换矩阵。
如果人物手中持有武器(美工不可能为每种武器的挥砍做mesh,那样不现实)
武器实际做成一个骨骼,绕着腕关节旋转,从而实现角色挥砍不同武器的动画效果。