我终于要更新博客了,进公司之后每天学的做的很多,但真正有时间去总结的时候很少。之后的话尽量每周都要做一个知识的总结和积累吧,一方面自己真的是做过就忘,另一方面也能够将自己踩到的坑,遇到的问题与大家分享一下。
入职三个月吧第一个月最主要的事情就是在骨骼动画的驱动,一开始是研究的Assimp这个库,也实现了相应的功能,但后来发现坑实在是太多,对之后的扩展也不好,最后还是开始啃超级不友好的FBX SDK。也算是把整个过程理顺了。Assimp的先留个坑,之后再总结。
万万没想到是我还是做起了OpenGL,比之前OSG感觉还要难一些,不过shader好有趣啊,现在终于会写shader,之前都觉得在看天书,Unity也在继续做,目前主要就是在Unity上实现demo,然后移植到OpenGL中。现在的工作真的很让人进步,也很开心~加油吧~
————————————————————————————————————————————————————
骨骼动画驱动的一般方法
(一) 所需数据
1、 One or multiple Mesh:包含在世界坐标下的(fbx中其实是相对于所输mesh对应的node坐标下的),in bind pose的顶点坐标
2、 A hierarchy of bones:骨骼层次,有些地方也叫frames,参考坐标系,实际上每个骨骼就是一个坐标系。除了根骨骼以外,所有骨骼都有一个parent bone,none or multiple children bone。
3、 An array of matrices:每个骨骼都有一个matrix,通常叫nodeTransform。是父骨骼空间到该骨骼的local space的transform ,in bind pose。相对于父节点的。local
4、 An array of matrices: 每个骨骼都有一个matrix,通常叫bind pose matrix,offset matrix etc. 每个matrix 是从world coordinate到该骨骼的local space的transform。
5、 A collectio