花了两个月把DirectX12技能树点了一遍,之前有做过一段时间的UE4动画状态机相关的研究,但是因为我自己没写过骨骼动画所以对其底层原理还是比较模糊,为了彻底搞懂骨骼动画的基本原理,我把DirectX12的这部分内容好好啃了一遍,然后从FBX里抽取数据,把骨骼动画数据加载出来。这个过程花费了两周时间,虽然写出来的是玩具,但是这对理解商业引擎骨骼动画的原理及FBX数据的组织抽取方式还是很有帮助。
在一切开始之前我们需要准备一下资源,我在maya里做了一个简单的骨骼模型
骨骼模型在绑定的时候MaxInfluence的值需要设置一下,我这里设置成4,因为我的代码里vertex最多只能被4根骨骼影响。
为什么是4而不是6或者是8呢,因为我的顶点代码里就只写了四个权重值。