Ich versuche, ein 2D-Knochensystem in XNA zu schreiben.
Mein erster Gedanke war, Matrizen zu verwenden, um die Rotationen und die Positionierung im Bone-Baum zu verfolgen, damit die Elemente leicht angezeigt werden können.
Cool, dachte ich, und dann schlug mir die Bestürzung ins Gesicht, als ich sah, dass Matrizen nur auf einzelne Sprites angewendet werden können batch.Begin
Anruf und nicht auf einen Anruf pro Ziehung!
Ich habe einige Leistungstests durchgeführt, um zu prüfen, ob meine Bestürzung berechtigt war, und das war sie, indem ich spritebatch.Begin
y End
eine Reihe von Zeit sinkt meine Bildrate um einen großen (und inakzeptablen) Betrag.
Bevor ich also ein einzelnes Knochenbild zeichne, muss ich seine endgültige Position und Drehung (und in Zukunft vielleicht auch seine Skalierung) manuell konstruieren. In diesem Fall würden Sie immer noch Matrizen verwenden und irgendwie extrahieren die Informationen am Ende kurz vor dem Zeichnen der Knochen? Wenn ja, haben Sie eine Idee, wie ich die endgültigen Informationen erhalte, die ich brauche? Oder wäre es einfacher, zu versuchen und konstruieren sie alle aus den rohen Positionen und Drehungen der übergeordneten Knoten?