骨头动画与顶点动画:
骨头动画包括:
- 外皮(所有顶点)
- 骨头
1.外皮(所有顶点) ,每个顶点包含一下信息,Pos(位置信息) UV纹理 Normal(法线) Color(定点色) boneIndex(骨头索引)
boneIndex(骨头索引):每个顶点受到2-4或者更多的骨头影响,这些骨头就记录在骨头索引中boneIndex,并且记录下每个骨头的权重。
2、骨头
骨头动画的运动:
比如FBX文件中,保存了骨头的每一帧的位置,其实是有一个骨头的帧动画。
1、首先读取FBX中保存的骨头帧动画
2、根据一帧中骨头的坐标,然后计算蒙皮顶点的坐标。这样在每一帧中,骨头在动,骨头上面的蒙皮顶点也在动,就形成了骨头动画
顶点位置计算公式 (权重 0 -1 ):
顶点位置=骨头1位置矩阵*权重 + 骨头2位置*权重
顶点动画:
顶点动画,计算模型所有顶点的下一帧位置并保存下来,这样的话动画文件会非常大!好处是不用进行CPU运算。
读取FBX文件:
1、读取所有顶点信息
2、读取所有骨头信息
3、读取骨头动画信息
4、根据骨头动画信息来计算蒙皮顶点位置信息,形成动画