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