关于编写DAE模型浏览器的相关问题
小弟我最近授命编写一个DAE骨骼动画浏览器,对与DAE文件的结构和解析方面问题不大,但是不知道里面的那堆数据究竟代表什么意思。
DAE文件中有很多连续的float类型的数据。比如,代表关节的JOINT,后面跟着16个float类型的数据,按照我的理解,这应当代表一个位置坐标。BVH骨骼动画的坐标都是三个一组,这样16个一组的坐标,小弟我真不知道是什么含义,又该如何使用。
与此类似的还有动画部分,有和帧数相同组数的数据,同样是16个一组(一行)。
求教这类数据是什么含义,应当如何使用。
小弟我是冥思苦想数日,百度了好久,都没有找到关于这些数据含义的解释。如果各位觉得解释起来很麻烦的话,能提供相关的资料或者代码也好。小弟在此先行谢过。
[解决办法]
Irrlicht好像支持dae,又是开源的,应该可以看到源码中的解析过程.
[解决办法]
原始左边点是什么东西???
如果只是要画出动画的话,流程是这样的:
输入的数据
1.每个顶点的数据里面有该能顶点骨骼索引和权重。
2.每个骨骼有一个相对于父骨骼的变换矩阵(这个矩阵有可能是计算出来的,看模型格式)
3.所有骨骼根据层次组成一颗树。
处理流程,
1.根据骨骼层次,从根节点开始遍历骨骼树,用每个骨骼的父骨骼的矩阵变换子骨骼,处理完成后所有骨骼的变换矩阵就可以直接用了。
2.每个顶点使用 骨骼索引找到影响他的矩阵,然后按权值做变换 ,pos ,normal都这样处理
vec=vec*mat1*weight1+vec*mat2+weight2+...;
3.处理完就可以画了。