Я пытаюсь написать 2D систему Bone в XNA.
Моей первоначальной мыслью было использование матриц для отслеживания поворотов и позиционирования через костное дерево, чтобы предметы могли легко отображаться.
Круто, подумала я, а затем смятение ударило меня по лицу, когда я увидела, что матрицы могут быть применены только к одному пакету спрайтов. Начинайте вызов, а не вызов на вывод!
Я выполнил несколько тестов производительности, чтобы проверить, не исчезло ли мое беспокойство, и это было вызвано вызовом spritebatch.Begin и End много раз снижает частоту кадров на огромную (и неприемлемую) величину.
Итак, перед тем как нарисовать изображение с одним костяком, мне нужно будет вручную построить его окончательное положение и поворот (и, возможно, масштаб) в будущем. В этом случае вы все равно будете использовать матрицы и каким-то образом извлекать информацию в конце непосредственно перед извлечением кости? Если да, есть идеи, как получить окончательную информацию, которая мне нужна? Или было бы проще попытаться построить все это из необработанных позиций и поворотов его родительских узлов?
Заранее спасибо всем, у кого есть идеи.