骨骼动画中,当一个面的权重值数量超过了3个怎么办?
我现在的骨骼动画设计是这样的:
首先获取整张网格,然后获取每一个顶点以及影响他们的骨头,然后循环网格的每一个三角面的3个顶点,判断并获取影响这3个顶点的骨头的数量和ID号,如果小于等于3块骨头,则继续查找下一个面的,并累计到前一个面的骨头列表,如果小于等于3块,则继续查找,否则,就将这些查找过的面做为一个完整的物体,在D3D里绘制出来。
但是现在遇到了一个麻烦的问题:因为我做的一个CS动画里,影响一个面的骨头数量,最大达到了5个。这很麻烦啊,三角面已经是绘制的最基本单位,没法再折分了,绘制必须要基于一个三角面啊。但是权重又有5个,没法送入Stream啊。
这可怎么办呢?
还有顺序问一下,如果不使用VS做骨骼动画,还有没有比这个更好的实现骨骼动画的方法?