我正在尝试在XNA中编写2D骨骼系统。
我的第一想法是使用矩阵来跟踪整个骨骼树中的旋转和定位,以便可以轻松地显示物品。
我认为很棒,但当我看到矩阵只能应用于单个精灵batch.Begin
调用而不是每次绘制调用时,我感到沮丧。
我进行了一些性能测试,以检查我的沮丧是否有道理,结果发现,调用spritebatch.Begin
和End
多次会使我的帧率大幅下降(不可接受)。
因此,在绘制单个骨骼图像之前,我将不得不手动构造其最终位置和旋转(也许在未来还包括缩放)。在这种情况下,您仍然会使用矩阵,并在绘制骨骼之前提取所需的最终信息吗?如果是这样,您有什么关于如何获取我需要的最终信息的想法吗?或者从其父节点的原始位置和旋转开始构建它是否更容易?