首先是实现的Demo图
根据wowmodelviewer的源码,把数据导成自己的格式,修改了一些bug, 实现的骨骼动画。
骨骼动画的实现还是一个顶点受最多4根骨骼影响, 然后计算出这个顶点在最多4根骨骼下影响的位置,这里没什么特别的东西
不过wow也有一些不同的地方,例如数据存储方面.
1, 数据存储的优势
拿这个动画来说,看他骨骼的总时间表,有800000ms, 就是有800s动画,他的骨骼在关键点是33ms存一帧,也就是说理论上也是1s存30帧动画。
假如说全部存取的话, 每根骨骼就是得保持 800 * 30 = 24000 个关键帧信息, 对于每个关键帧信息, 假如说保存 一个Pos, 一个Scale, 一个Quat,
以float类型保存的话,就是一个关键帧信息有 10 * 4 = 40个字节的量, 然后 每根骨骼就得保存40 * 24000 = 0.915MB 数据, 现在有190根骨骼,
0.915MB * 190 = 173.85MB, 就是说全部保存的话有173.85MB数据! 这个是理论上的情况。
我按它的数据信息导出,导出的骨骼文件大小是3.47MB, 如图